Commit 97cf50b6 authored by Ezequiel Garcia's avatar Ezequiel Garcia Committed by Mauro Carvalho Chehab

media: v4l2-async: Remove V4L2_ASYNC_MATCH_CUSTOM

Custom/driver-specific v4l2-async match support was introduced
in 2013, as V4L2_ASYNC_BUS_CUSTOM.

This type of match never had any user, so it's fair
to conclude it's not required and that safe for removal.
If the support is ever needed, it can always be restored.
Suggested-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: default avatarEzequiel Garcia <ezequiel@collabora.com>
Reviewed-by: default avatarLaurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: default avatarKieran Bingham <kieran.bingham+renesas@ideasonboard.com>
Signed-off-by: default avatarSakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab+huawei@kernel.org>
parent 9e56380a
...@@ -147,16 +147,6 @@ static bool match_fwnode(struct v4l2_async_notifier *notifier, ...@@ -147,16 +147,6 @@ static bool match_fwnode(struct v4l2_async_notifier *notifier,
return true; return true;
} }
static bool match_custom(struct v4l2_async_notifier *notifier,
struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)
{
if (!asd->match.custom.match)
/* Match always */
return true;
return asd->match.custom.match(sd->dev, asd);
}
static LIST_HEAD(subdev_list); static LIST_HEAD(subdev_list);
static LIST_HEAD(notifier_list); static LIST_HEAD(notifier_list);
static DEFINE_MUTEX(list_lock); static DEFINE_MUTEX(list_lock);
...@@ -172,9 +162,6 @@ v4l2_async_find_match(struct v4l2_async_notifier *notifier, ...@@ -172,9 +162,6 @@ v4l2_async_find_match(struct v4l2_async_notifier *notifier,
list_for_each_entry(asd, &notifier->waiting, list) { list_for_each_entry(asd, &notifier->waiting, list) {
/* bus_type has been verified valid before */ /* bus_type has been verified valid before */
switch (asd->match_type) { switch (asd->match_type) {
case V4L2_ASYNC_MATCH_CUSTOM:
match = match_custom;
break;
case V4L2_ASYNC_MATCH_DEVNAME: case V4L2_ASYNC_MATCH_DEVNAME:
match = match_devname; match = match_devname;
break; break;
...@@ -475,7 +462,6 @@ static int v4l2_async_notifier_asd_valid(struct v4l2_async_notifier *notifier, ...@@ -475,7 +462,6 @@ static int v4l2_async_notifier_asd_valid(struct v4l2_async_notifier *notifier,
return -EINVAL; return -EINVAL;
switch (asd->match_type) { switch (asd->match_type) {
case V4L2_ASYNC_MATCH_CUSTOM:
case V4L2_ASYNC_MATCH_DEVNAME: case V4L2_ASYNC_MATCH_DEVNAME:
case V4L2_ASYNC_MATCH_I2C: case V4L2_ASYNC_MATCH_I2C:
case V4L2_ASYNC_MATCH_FWNODE: case V4L2_ASYNC_MATCH_FWNODE:
......
...@@ -21,8 +21,6 @@ struct v4l2_async_notifier; ...@@ -21,8 +21,6 @@ struct v4l2_async_notifier;
* enum v4l2_async_match_type - type of asynchronous subdevice logic to be used * enum v4l2_async_match_type - type of asynchronous subdevice logic to be used
* in order to identify a match * in order to identify a match
* *
* @V4L2_ASYNC_MATCH_CUSTOM: Match will use the logic provided by &struct
* v4l2_async_subdev.match ops
* @V4L2_ASYNC_MATCH_DEVNAME: Match will use the device name * @V4L2_ASYNC_MATCH_DEVNAME: Match will use the device name
* @V4L2_ASYNC_MATCH_I2C: Match will check for I2C adapter ID and address * @V4L2_ASYNC_MATCH_I2C: Match will check for I2C adapter ID and address
* @V4L2_ASYNC_MATCH_FWNODE: Match will use firmware node * @V4L2_ASYNC_MATCH_FWNODE: Match will use firmware node
...@@ -31,7 +29,6 @@ struct v4l2_async_notifier; ...@@ -31,7 +29,6 @@ struct v4l2_async_notifier;
* algorithm that will be used to match an asynchronous device. * algorithm that will be used to match an asynchronous device.
*/ */
enum v4l2_async_match_type { enum v4l2_async_match_type {
V4L2_ASYNC_MATCH_CUSTOM,
V4L2_ASYNC_MATCH_DEVNAME, V4L2_ASYNC_MATCH_DEVNAME,
V4L2_ASYNC_MATCH_I2C, V4L2_ASYNC_MATCH_I2C,
V4L2_ASYNC_MATCH_FWNODE, V4L2_ASYNC_MATCH_FWNODE,
...@@ -58,15 +55,6 @@ enum v4l2_async_match_type { ...@@ -58,15 +55,6 @@ enum v4l2_async_match_type {
* @match.i2c.address: * @match.i2c.address:
* I2C address to be matched. * I2C address to be matched.
* Used if @match_type is %V4L2_ASYNC_MATCH_I2C. * Used if @match_type is %V4L2_ASYNC_MATCH_I2C.
* @match.custom:
* Driver-specific match criteria.
* Used if @match_type is %V4L2_ASYNC_MATCH_CUSTOM.
* @match.custom.match:
* Driver-specific match function to be used if
* %V4L2_ASYNC_MATCH_CUSTOM.
* @match.custom.priv:
* Driver-specific private struct with match parameters
* to be used if %V4L2_ASYNC_MATCH_CUSTOM.
* @asd_list: used to add struct v4l2_async_subdev objects to the * @asd_list: used to add struct v4l2_async_subdev objects to the
* master notifier @asd_list * master notifier @asd_list
* @list: used to link struct v4l2_async_subdev objects, waiting to be * @list: used to link struct v4l2_async_subdev objects, waiting to be
...@@ -85,11 +73,6 @@ struct v4l2_async_subdev { ...@@ -85,11 +73,6 @@ struct v4l2_async_subdev {
int adapter_id; int adapter_id;
unsigned short address; unsigned short address;
} i2c; } i2c;
struct {
bool (*match)(struct device *dev,
struct v4l2_async_subdev *sd);
void *priv;
} custom;
} match; } match;
/* v4l2-async core private: not to be used by drivers */ /* v4l2-async core private: not to be used by drivers */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment