mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-23 04:34:11 +08:00
[media] V4L: Rename v4l2_async_bus_* to v4l2_async_match_*
enum v4l2_async_bus_type also selects a method subdevs are matched in the notification handlers, rename it to v4l2_async_match_type so V4L2_ASYNC_MATCH_OF entry can be further added for matching by device tree node pointer. Acked-and-tested-by: Lad, Prabhakar <prabhakar.csengg@gmail.com> Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Acked-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Acked-by: Hans Verkuil <hans.verkuil@cisco.com> Acked-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
This commit is contained in:
parent
3c2ade017a
commit
cfca7644d7
@ -1837,9 +1837,9 @@ static int sh_mobile_ceu_probe(struct platform_device *pdev)
|
||||
for (j = 0; pcdev->pdata->asd_sizes[j]; j++) {
|
||||
for (i = 0; i < pcdev->pdata->asd_sizes[j]; i++, asd++) {
|
||||
dev_dbg(&pdev->dev, "%s(): subdev #%d, type %u\n",
|
||||
__func__, i, (*asd)->bus_type);
|
||||
if ((*asd)->bus_type == V4L2_ASYNC_BUS_PLATFORM &&
|
||||
!strncmp(name, (*asd)->match.platform.name,
|
||||
__func__, i, (*asd)->match_type);
|
||||
if ((*asd)->match_type == V4L2_ASYNC_MATCH_DEVNAME &&
|
||||
!strncmp(name, (*asd)->match.device_name.name,
|
||||
sizeof(name) - 1)) {
|
||||
pcdev->csi2_asd = *asd;
|
||||
break;
|
||||
|
@ -1475,7 +1475,7 @@ static int scan_async_group(struct soc_camera_host *ici,
|
||||
break;
|
||||
}
|
||||
|
||||
if (i == size || asd[i]->bus_type != V4L2_ASYNC_BUS_I2C) {
|
||||
if (i == size || asd[i]->match_type != V4L2_ASYNC_MATCH_I2C) {
|
||||
/* All useless */
|
||||
dev_err(ici->v4l2_dev.dev, "No I2C data source found!\n");
|
||||
return -ENODEV;
|
||||
|
@ -34,9 +34,9 @@ static bool match_i2c(struct device *dev, struct v4l2_async_subdev *asd)
|
||||
#endif
|
||||
}
|
||||
|
||||
static bool match_platform(struct device *dev, struct v4l2_async_subdev *asd)
|
||||
static bool match_devname(struct device *dev, struct v4l2_async_subdev *asd)
|
||||
{
|
||||
return !strcmp(asd->match.platform.name, dev_name(dev));
|
||||
return !strcmp(asd->match.device_name.name, dev_name(dev));
|
||||
}
|
||||
|
||||
static LIST_HEAD(subdev_list);
|
||||
@ -53,17 +53,17 @@ static struct v4l2_async_subdev *v4l2_async_belongs(struct v4l2_async_notifier *
|
||||
|
||||
list_for_each_entry(asd, ¬ifier->waiting, list) {
|
||||
/* bus_type has been verified valid before */
|
||||
switch (asd->bus_type) {
|
||||
case V4L2_ASYNC_BUS_CUSTOM:
|
||||
switch (asd->match_type) {
|
||||
case V4L2_ASYNC_MATCH_CUSTOM:
|
||||
match = asd->match.custom.match;
|
||||
if (!match)
|
||||
/* Match always */
|
||||
return asd;
|
||||
break;
|
||||
case V4L2_ASYNC_BUS_PLATFORM:
|
||||
match = match_platform;
|
||||
case V4L2_ASYNC_MATCH_DEVNAME:
|
||||
match = match_devname;
|
||||
break;
|
||||
case V4L2_ASYNC_BUS_I2C:
|
||||
case V4L2_ASYNC_MATCH_I2C:
|
||||
match = match_i2c;
|
||||
break;
|
||||
default:
|
||||
@ -141,15 +141,15 @@ int v4l2_async_notifier_register(struct v4l2_device *v4l2_dev,
|
||||
for (i = 0; i < notifier->num_subdevs; i++) {
|
||||
asd = notifier->subdev[i];
|
||||
|
||||
switch (asd->bus_type) {
|
||||
case V4L2_ASYNC_BUS_CUSTOM:
|
||||
case V4L2_ASYNC_BUS_PLATFORM:
|
||||
case V4L2_ASYNC_BUS_I2C:
|
||||
switch (asd->match_type) {
|
||||
case V4L2_ASYNC_MATCH_CUSTOM:
|
||||
case V4L2_ASYNC_MATCH_DEVNAME:
|
||||
case V4L2_ASYNC_MATCH_I2C:
|
||||
break;
|
||||
default:
|
||||
dev_err(notifier->v4l2_dev ? notifier->v4l2_dev->dev : NULL,
|
||||
"Invalid bus-type %u on %p\n",
|
||||
asd->bus_type, asd);
|
||||
"Invalid match type %u on %p\n",
|
||||
asd->match_type, asd);
|
||||
return -EINVAL;
|
||||
}
|
||||
list_add_tail(&asd->list, ¬ifier->waiting);
|
||||
|
@ -22,10 +22,10 @@ struct v4l2_async_notifier;
|
||||
/* A random max subdevice number, used to allocate an array on stack */
|
||||
#define V4L2_MAX_SUBDEVS 128U
|
||||
|
||||
enum v4l2_async_bus_type {
|
||||
V4L2_ASYNC_BUS_CUSTOM,
|
||||
V4L2_ASYNC_BUS_PLATFORM,
|
||||
V4L2_ASYNC_BUS_I2C,
|
||||
enum v4l2_async_match_type {
|
||||
V4L2_ASYNC_MATCH_CUSTOM,
|
||||
V4L2_ASYNC_MATCH_DEVNAME,
|
||||
V4L2_ASYNC_MATCH_I2C,
|
||||
};
|
||||
|
||||
/**
|
||||
@ -36,11 +36,11 @@ enum v4l2_async_bus_type {
|
||||
* probed, to a notifier->waiting list
|
||||
*/
|
||||
struct v4l2_async_subdev {
|
||||
enum v4l2_async_bus_type bus_type;
|
||||
enum v4l2_async_match_type match_type;
|
||||
union {
|
||||
struct {
|
||||
const char *name;
|
||||
} platform;
|
||||
} device_name;
|
||||
struct {
|
||||
int adapter_id;
|
||||
unsigned short address;
|
||||
|
Loading…
Reference in New Issue
Block a user