mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-18 10:13:57 +08:00
[media] media: blackfin: ppi: Pass device pointer to request peripheral pins
if the pinctrl driver is enabled. Signed-off-by: Sonic Zhang <sonic.zhang@analog.com> Acked-by: Scott Jiang <scott.jiang.linux@gmail.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
3d3a41098e
commit
f7d0e6d67f
@ -939,7 +939,7 @@ static int bcap_probe(struct platform_device *pdev)
|
||||
|
||||
bcap_dev->cfg = config;
|
||||
|
||||
bcap_dev->ppi = ppi_create_instance(config->ppi_info);
|
||||
bcap_dev->ppi = ppi_create_instance(pdev, config->ppi_info);
|
||||
if (!bcap_dev->ppi) {
|
||||
v4l2_err(pdev->dev.driver, "Unable to create ppi\n");
|
||||
ret = -ENODEV;
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <asm/bfin_ppi.h>
|
||||
#include <asm/blackfin.h>
|
||||
@ -307,7 +308,8 @@ static void ppi_update_addr(struct ppi_if *ppi, unsigned long addr)
|
||||
set_dma_start_addr(ppi->info->dma_ch, addr);
|
||||
}
|
||||
|
||||
struct ppi_if *ppi_create_instance(const struct ppi_info *info)
|
||||
struct ppi_if *ppi_create_instance(struct platform_device *pdev,
|
||||
const struct ppi_info *info)
|
||||
{
|
||||
struct ppi_if *ppi;
|
||||
|
||||
@ -315,14 +317,14 @@ struct ppi_if *ppi_create_instance(const struct ppi_info *info)
|
||||
return NULL;
|
||||
|
||||
if (peripheral_request_list(info->pin_req, KBUILD_MODNAME)) {
|
||||
pr_err("request peripheral failed\n");
|
||||
dev_err(&pdev->dev, "request peripheral failed\n");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ppi = kzalloc(sizeof(*ppi), GFP_KERNEL);
|
||||
if (!ppi) {
|
||||
peripheral_free_list(info->pin_req);
|
||||
pr_err("unable to allocate memory for ppi handle\n");
|
||||
dev_err(&pdev->dev, "unable to allocate memory for ppi handle\n");
|
||||
return NULL;
|
||||
}
|
||||
ppi->ops = &ppi_ops;
|
||||
|
@ -91,6 +91,7 @@ struct ppi_if {
|
||||
void *priv;
|
||||
};
|
||||
|
||||
struct ppi_if *ppi_create_instance(const struct ppi_info *info);
|
||||
struct ppi_if *ppi_create_instance(struct platform_device *pdev,
|
||||
const struct ppi_info *info);
|
||||
void ppi_delete_instance(struct ppi_if *ppi);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user