media: v4l2-async: Remove V4L2_ASYNC_MATCH_DEVNAME
Commit Message
The last user for this type of match was the soc-camera/sh_mobile_csi2
driver, which was removed in v4.9. If the support is ever needed,
it can always be restored.
Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
---
Applies on top of "media: v4l2-async: Remove V4L2_ASYNC_MATCH_CUSTOM"
https://patchwork.linuxtv.org/project/linux-media/patch/20210108171728.39434-1-ezequiel@collabora.com/
drivers/media/v4l2-core/v4l2-async.c | 38 ----------------------------
include/media/v4l2-async.h | 25 ------------------
2 files changed, 63 deletions(-)
Comments
Hi Ezequiel,
Thank you for the patch.
On Fri, Jan 15, 2021 at 05:23:57PM -0300, Ezequiel Garcia wrote:
> The last user for this type of match was the soc-camera/sh_mobile_csi2
> driver, which was removed in v4.9. If the support is ever needed,
> it can always be restored.
>
> Signed-off-by: Ezequiel Garcia <ezequiel@collabora.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
> ---
> Applies on top of "media: v4l2-async: Remove V4L2_ASYNC_MATCH_CUSTOM"
> https://patchwork.linuxtv.org/project/linux-media/patch/20210108171728.39434-1-ezequiel@collabora.com/
By the way, for this patch, I just found out that you can also drop the
forward declaration of struct device.
>
> drivers/media/v4l2-core/v4l2-async.c | 38 ----------------------------
> include/media/v4l2-async.h | 25 ------------------
> 2 files changed, 63 deletions(-)
>
> diff --git a/drivers/media/v4l2-core/v4l2-async.c b/drivers/media/v4l2-core/v4l2-async.c
> index 3faf1d12d49d..d05809b81870 100644
> --- a/drivers/media/v4l2-core/v4l2-async.c
> +++ b/drivers/media/v4l2-core/v4l2-async.c
> @@ -64,12 +64,6 @@ static bool match_i2c(struct v4l2_async_notifier *notifier,
> #endif
> }
>
> -static bool match_devname(struct v4l2_async_notifier *notifier,
> - struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)
> -{
> - return !strcmp(asd->match.device_name, dev_name(sd->dev));
> -}
> -
> static bool match_fwnode(struct v4l2_async_notifier *notifier,
> struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)
> {
> @@ -154,9 +148,6 @@ v4l2_async_find_match(struct v4l2_async_notifier *notifier,
> list_for_each_entry(asd, ¬ifier->waiting, list) {
> /* bus_type has been verified valid before */
> switch (asd->match_type) {
> - case V4L2_ASYNC_MATCH_DEVNAME:
> - match = match_devname;
> - break;
> case V4L2_ASYNC_MATCH_I2C:
> match = match_i2c;
> break;
> @@ -185,9 +176,6 @@ static bool asd_equal(struct v4l2_async_subdev *asd_x,
> return false;
>
> switch (asd_x->match_type) {
> - case V4L2_ASYNC_MATCH_DEVNAME:
> - return strcmp(asd_x->match.device_name,
> - asd_y->match.device_name) == 0;
> case V4L2_ASYNC_MATCH_I2C:
> return asd_x->match.i2c.adapter_id ==
> asd_y->match.i2c.adapter_id &&
> @@ -454,7 +442,6 @@ static int v4l2_async_notifier_asd_valid(struct v4l2_async_notifier *notifier,
> return -EINVAL;
>
> switch (asd->match_type) {
> - case V4L2_ASYNC_MATCH_DEVNAME:
> case V4L2_ASYNC_MATCH_I2C:
> case V4L2_ASYNC_MATCH_FWNODE:
> if (v4l2_async_notifier_has_async_subdev(notifier, asd,
> @@ -708,31 +695,6 @@ v4l2_async_notifier_add_i2c_subdev(struct v4l2_async_notifier *notifier,
> }
> EXPORT_SYMBOL_GPL(v4l2_async_notifier_add_i2c_subdev);
>
> -struct v4l2_async_subdev *
> -v4l2_async_notifier_add_devname_subdev(struct v4l2_async_notifier *notifier,
> - const char *device_name,
> - unsigned int asd_struct_size)
> -{
> - struct v4l2_async_subdev *asd;
> - int ret;
> -
> - asd = kzalloc(asd_struct_size, GFP_KERNEL);
> - if (!asd)
> - return ERR_PTR(-ENOMEM);
> -
> - asd->match_type = V4L2_ASYNC_MATCH_DEVNAME;
> - asd->match.device_name = device_name;
> -
> - ret = v4l2_async_notifier_add_subdev(notifier, asd);
> - if (ret) {
> - kfree(asd);
> - return ERR_PTR(ret);
> - }
> -
> - return asd;
> -}
> -EXPORT_SYMBOL_GPL(v4l2_async_notifier_add_devname_subdev);
> -
> int v4l2_async_register_subdev(struct v4l2_subdev *sd)
> {
> struct v4l2_async_notifier *subdev_notifier;
> diff --git a/include/media/v4l2-async.h b/include/media/v4l2-async.h
> index 8ed42188e7c9..49c14cc5f85a 100644
> --- a/include/media/v4l2-async.h
> +++ b/include/media/v4l2-async.h
> @@ -21,7 +21,6 @@ struct v4l2_async_notifier;
> * enum v4l2_async_match_type - type of asynchronous subdevice logic to be used
> * in order to identify a match
> *
> - * @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_FWNODE: Match will use firmware node
> *
> @@ -29,7 +28,6 @@ struct v4l2_async_notifier;
> * algorithm that will be used to match an asynchronous device.
> */
> enum v4l2_async_match_type {
> - V4L2_ASYNC_MATCH_DEVNAME,
> V4L2_ASYNC_MATCH_I2C,
> V4L2_ASYNC_MATCH_FWNODE,
> };
> @@ -42,9 +40,6 @@ enum v4l2_async_match_type {
> * @match.fwnode:
> * pointer to &struct fwnode_handle to be matched.
> * Used if @match_type is %V4L2_ASYNC_MATCH_FWNODE.
> - * @match.device_name:
> - * string containing the device name to be matched.
> - * Used if @match_type is %V4L2_ASYNC_MATCH_DEVNAME.
> * @match.i2c: embedded struct with I2C parameters to be matched.
> * Both @match.i2c.adapter_id and @match.i2c.address
> * should be matched.
> @@ -68,7 +63,6 @@ struct v4l2_async_subdev {
> enum v4l2_async_match_type match_type;
> union {
> struct fwnode_handle *fwnode;
> - const char *device_name;
> struct {
> int adapter_id;
> unsigned short address;
> @@ -210,25 +204,6 @@ v4l2_async_notifier_add_i2c_subdev(struct v4l2_async_notifier *notifier,
> int adapter_id, unsigned short address,
> unsigned int asd_struct_size);
>
> -/**
> - * v4l2_async_notifier_add_devname_subdev - Allocate and add a device-name
> - * async subdev to the notifier's master asd_list.
> - *
> - * @notifier: pointer to &struct v4l2_async_notifier
> - * @device_name: device name string to be matched
> - * @asd_struct_size: size of the driver's async sub-device struct, including
> - * sizeof(struct v4l2_async_subdev). The &struct
> - * v4l2_async_subdev shall be the first member of
> - * the driver's async sub-device struct, i.e. both
> - * begin at the same memory address.
> - *
> - * Same as above but for device-name matched sub-devices.
> - */
> -struct v4l2_async_subdev *
> -v4l2_async_notifier_add_devname_subdev(struct v4l2_async_notifier *notifier,
> - const char *device_name,
> - unsigned int asd_struct_size);
> -
> /**
> * v4l2_async_notifier_register - registers a subdevice asynchronous notifier
> *
@@ -64,12 +64,6 @@ static bool match_i2c(struct v4l2_async_notifier *notifier,
#endif
}
-static bool match_devname(struct v4l2_async_notifier *notifier,
- struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)
-{
- return !strcmp(asd->match.device_name, dev_name(sd->dev));
-}
-
static bool match_fwnode(struct v4l2_async_notifier *notifier,
struct v4l2_subdev *sd, struct v4l2_async_subdev *asd)
{
@@ -154,9 +148,6 @@ v4l2_async_find_match(struct v4l2_async_notifier *notifier,
list_for_each_entry(asd, ¬ifier->waiting, list) {
/* bus_type has been verified valid before */
switch (asd->match_type) {
- case V4L2_ASYNC_MATCH_DEVNAME:
- match = match_devname;
- break;
case V4L2_ASYNC_MATCH_I2C:
match = match_i2c;
break;
@@ -185,9 +176,6 @@ static bool asd_equal(struct v4l2_async_subdev *asd_x,
return false;
switch (asd_x->match_type) {
- case V4L2_ASYNC_MATCH_DEVNAME:
- return strcmp(asd_x->match.device_name,
- asd_y->match.device_name) == 0;
case V4L2_ASYNC_MATCH_I2C:
return asd_x->match.i2c.adapter_id ==
asd_y->match.i2c.adapter_id &&
@@ -454,7 +442,6 @@ static int v4l2_async_notifier_asd_valid(struct v4l2_async_notifier *notifier,
return -EINVAL;
switch (asd->match_type) {
- case V4L2_ASYNC_MATCH_DEVNAME:
case V4L2_ASYNC_MATCH_I2C:
case V4L2_ASYNC_MATCH_FWNODE:
if (v4l2_async_notifier_has_async_subdev(notifier, asd,
@@ -708,31 +695,6 @@ v4l2_async_notifier_add_i2c_subdev(struct v4l2_async_notifier *notifier,
}
EXPORT_SYMBOL_GPL(v4l2_async_notifier_add_i2c_subdev);
-struct v4l2_async_subdev *
-v4l2_async_notifier_add_devname_subdev(struct v4l2_async_notifier *notifier,
- const char *device_name,
- unsigned int asd_struct_size)
-{
- struct v4l2_async_subdev *asd;
- int ret;
-
- asd = kzalloc(asd_struct_size, GFP_KERNEL);
- if (!asd)
- return ERR_PTR(-ENOMEM);
-
- asd->match_type = V4L2_ASYNC_MATCH_DEVNAME;
- asd->match.device_name = device_name;
-
- ret = v4l2_async_notifier_add_subdev(notifier, asd);
- if (ret) {
- kfree(asd);
- return ERR_PTR(ret);
- }
-
- return asd;
-}
-EXPORT_SYMBOL_GPL(v4l2_async_notifier_add_devname_subdev);
-
int v4l2_async_register_subdev(struct v4l2_subdev *sd)
{
struct v4l2_async_notifier *subdev_notifier;
@@ -21,7 +21,6 @@ struct v4l2_async_notifier;
* enum v4l2_async_match_type - type of asynchronous subdevice logic to be used
* in order to identify a match
*
- * @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_FWNODE: Match will use firmware node
*
@@ -29,7 +28,6 @@ struct v4l2_async_notifier;
* algorithm that will be used to match an asynchronous device.
*/
enum v4l2_async_match_type {
- V4L2_ASYNC_MATCH_DEVNAME,
V4L2_ASYNC_MATCH_I2C,
V4L2_ASYNC_MATCH_FWNODE,
};
@@ -42,9 +40,6 @@ enum v4l2_async_match_type {
* @match.fwnode:
* pointer to &struct fwnode_handle to be matched.
* Used if @match_type is %V4L2_ASYNC_MATCH_FWNODE.
- * @match.device_name:
- * string containing the device name to be matched.
- * Used if @match_type is %V4L2_ASYNC_MATCH_DEVNAME.
* @match.i2c: embedded struct with I2C parameters to be matched.
* Both @match.i2c.adapter_id and @match.i2c.address
* should be matched.
@@ -68,7 +63,6 @@ struct v4l2_async_subdev {
enum v4l2_async_match_type match_type;
union {
struct fwnode_handle *fwnode;
- const char *device_name;
struct {
int adapter_id;
unsigned short address;
@@ -210,25 +204,6 @@ v4l2_async_notifier_add_i2c_subdev(struct v4l2_async_notifier *notifier,
int adapter_id, unsigned short address,
unsigned int asd_struct_size);
-/**
- * v4l2_async_notifier_add_devname_subdev - Allocate and add a device-name
- * async subdev to the notifier's master asd_list.
- *
- * @notifier: pointer to &struct v4l2_async_notifier
- * @device_name: device name string to be matched
- * @asd_struct_size: size of the driver's async sub-device struct, including
- * sizeof(struct v4l2_async_subdev). The &struct
- * v4l2_async_subdev shall be the first member of
- * the driver's async sub-device struct, i.e. both
- * begin at the same memory address.
- *
- * Same as above but for device-name matched sub-devices.
- */
-struct v4l2_async_subdev *
-v4l2_async_notifier_add_devname_subdev(struct v4l2_async_notifier *notifier,
- const char *device_name,
- unsigned int asd_struct_size);
-
/**
* v4l2_async_notifier_register - registers a subdevice asynchronous notifier
*