2022-05-09 08:03:43

by Lizhe

[permalink] [raw]
Subject: [PATCH] kernel/drivers: Remove redundant driver match function

If there is no driver match function, the driver core assumes that each
candidate pair (driver, device) matches, see driver_match_device().

Signed-off-by: lizhe <[email protected]>
---
drivers/mfd/mcp-core.c | 6 ------
drivers/nubus/bus.c | 6 ------
drivers/s390/crypto/vfio_ap_drv.c | 6 ------
drivers/scsi/scsi_debug.c | 7 -------
drivers/target/loopback/tcm_loop.c | 7 -------
drivers/w1/w1.c | 6 ------
sound/ac97_bus.c | 11 -----------
7 files changed, 49 deletions(-)

diff --git a/drivers/mfd/mcp-core.c b/drivers/mfd/mcp-core.c
index 2fa592c37c6f..281a9369f2b3 100644
--- a/drivers/mfd/mcp-core.c
+++ b/drivers/mfd/mcp-core.c
@@ -20,11 +20,6 @@
#define to_mcp(d) container_of(d, struct mcp, attached_device)
#define to_mcp_driver(d) container_of(d, struct mcp_driver, drv)

-static int mcp_bus_match(struct device *dev, struct device_driver *drv)
-{
- return 1;
-}
-
static int mcp_bus_probe(struct device *dev)
{
struct mcp *mcp = to_mcp(dev);
@@ -43,7 +38,6 @@ static void mcp_bus_remove(struct device *dev)

static struct bus_type mcp_bus_type = {
.name = "mcp",
- .match = mcp_bus_match,
.probe = mcp_bus_probe,
.remove = mcp_bus_remove,
};
diff --git a/drivers/nubus/bus.c b/drivers/nubus/bus.c
index 17fad660032c..72921e4f35f6 100644
--- a/drivers/nubus/bus.c
+++ b/drivers/nubus/bus.c
@@ -14,11 +14,6 @@
#define to_nubus_board(d) container_of(d, struct nubus_board, dev)
#define to_nubus_driver(d) container_of(d, struct nubus_driver, driver)

-static int nubus_bus_match(struct device *dev, struct device_driver *driver)
-{
- return 1;
-}
-
static int nubus_device_probe(struct device *dev)
{
struct nubus_driver *ndrv = to_nubus_driver(dev->driver);
@@ -39,7 +34,6 @@ static void nubus_device_remove(struct device *dev)

struct bus_type nubus_bus_type = {
.name = "nubus",
- .match = nubus_bus_match,
.probe = nubus_device_probe,
.remove = nubus_device_remove,
};
diff --git a/drivers/s390/crypto/vfio_ap_drv.c b/drivers/s390/crypto/vfio_ap_drv.c
index 29ebd54f8919..0a662c451f2a 100644
--- a/drivers/s390/crypto/vfio_ap_drv.c
+++ b/drivers/s390/crypto/vfio_ap_drv.c
@@ -172,14 +172,8 @@ static void vfio_ap_matrix_dev_release(struct device *dev)
kfree(matrix_dev);
}

-static int matrix_bus_match(struct device *dev, struct device_driver *drv)
-{
- return 1;
-}
-
static struct bus_type matrix_bus = {
.name = "matrix",
- .match = &matrix_bus_match,
};

static struct device_driver matrix_driver = {
diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
index 592a290e6cfa..8107489b36e8 100644
--- a/drivers/scsi/scsi_debug.c
+++ b/drivers/scsi/scsi_debug.c
@@ -7844,15 +7844,8 @@ static void sdebug_driver_remove(struct device *dev)
scsi_host_put(sdbg_host->shost);
}

-static int pseudo_lld_bus_match(struct device *dev,
- struct device_driver *dev_driver)
-{
- return 1;
-}
-
static struct bus_type pseudo_lld_bus = {
.name = "pseudo",
- .match = pseudo_lld_bus_match,
.probe = sdebug_driver_probe,
.remove = sdebug_driver_remove,
.drv_groups = sdebug_drv_groups,
diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c
index 4407b56aa6d1..eeb63deff94f 100644
--- a/drivers/target/loopback/tcm_loop.c
+++ b/drivers/target/loopback/tcm_loop.c
@@ -83,15 +83,8 @@ static int tcm_loop_show_info(struct seq_file *m, struct Scsi_Host *host)
static int tcm_loop_driver_probe(struct device *);
static void tcm_loop_driver_remove(struct device *);

-static int pseudo_lld_bus_match(struct device *dev,
- struct device_driver *dev_driver)
-{
- return 1;
-}
-
static struct bus_type tcm_loop_lld_bus = {
.name = "tcm_loop_bus",
- .match = pseudo_lld_bus_match,
.probe = tcm_loop_driver_probe,
.remove = tcm_loop_driver_remove,
};
diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
index f2ae2e563dc5..a6ecfa1b3417 100644
--- a/drivers/w1/w1.c
+++ b/drivers/w1/w1.c
@@ -58,11 +58,6 @@ MODULE_PARM_DESC(slave_ttl,
DEFINE_MUTEX(w1_mlock);
LIST_HEAD(w1_masters);

-static int w1_master_match(struct device *dev, struct device_driver *drv)
-{
- return 1;
-}
-
static int w1_master_probe(struct device *dev)
{
return -ENODEV;
@@ -174,7 +169,6 @@ static int w1_uevent(struct device *dev, struct kobj_uevent_env *env);

static struct bus_type w1_bus_type = {
.name = "w1",
- .match = w1_master_match,
.uevent = w1_uevent,
};

diff --git a/sound/ac97_bus.c b/sound/ac97_bus.c
index b4685c53ff11..c7aee8c42c55 100644
--- a/sound/ac97_bus.c
+++ b/sound/ac97_bus.c
@@ -75,19 +75,8 @@ int snd_ac97_reset(struct snd_ac97 *ac97, bool try_warm, unsigned int id,
}
EXPORT_SYMBOL_GPL(snd_ac97_reset);

-/*
- * Let drivers decide whether they want to support given codec from their
- * probe method. Drivers have direct access to the struct snd_ac97
- * structure and may decide based on the id field amongst other things.
- */
-static int ac97_bus_match(struct device *dev, struct device_driver *drv)
-{
- return 1;
-}
-
struct bus_type ac97_bus_type = {
.name = "ac97",
- .match = ac97_bus_match,
};

static int __init ac97_bus_init(void)
--
2.25.1



2022-05-09 12:11:15

by Anthony Krowiak

[permalink] [raw]
Subject: Re: [PATCH] kernel/drivers: Remove redundant driver match function

For the drivers/s390/crypto/vfio_ap_drv.c device driver:
Reviewed-by: Tony Krowiak <[email protected]>

On 5/6/22 12:59 AM, lizhe wrote:
> If there is no driver match function, the driver core assumes that each
> candidate pair (driver, device) matches, see driver_match_device().
>
> Signed-off-by: lizhe <[email protected]>
> ---
> drivers/mfd/mcp-core.c | 6 ------
> drivers/nubus/bus.c | 6 ------
> drivers/s390/crypto/vfio_ap_drv.c | 6 ------
> drivers/scsi/scsi_debug.c | 7 -------
> drivers/target/loopback/tcm_loop.c | 7 -------
> drivers/w1/w1.c | 6 ------
> sound/ac97_bus.c | 11 -----------
> 7 files changed, 49 deletions(-)
>
> diff --git a/drivers/mfd/mcp-core.c b/drivers/mfd/mcp-core.c
> index 2fa592c37c6f..281a9369f2b3 100644
> --- a/drivers/mfd/mcp-core.c
> +++ b/drivers/mfd/mcp-core.c
> @@ -20,11 +20,6 @@
> #define to_mcp(d) container_of(d, struct mcp, attached_device)
> #define to_mcp_driver(d) container_of(d, struct mcp_driver, drv)
>
> -static int mcp_bus_match(struct device *dev, struct device_driver *drv)
> -{
> - return 1;
> -}
> -
> static int mcp_bus_probe(struct device *dev)
> {
> struct mcp *mcp = to_mcp(dev);
> @@ -43,7 +38,6 @@ static void mcp_bus_remove(struct device *dev)
>
> static struct bus_type mcp_bus_type = {
> .name = "mcp",
> - .match = mcp_bus_match,
> .probe = mcp_bus_probe,
> .remove = mcp_bus_remove,
> };
> diff --git a/drivers/nubus/bus.c b/drivers/nubus/bus.c
> index 17fad660032c..72921e4f35f6 100644
> --- a/drivers/nubus/bus.c
> +++ b/drivers/nubus/bus.c
> @@ -14,11 +14,6 @@
> #define to_nubus_board(d) container_of(d, struct nubus_board, dev)
> #define to_nubus_driver(d) container_of(d, struct nubus_driver, driver)
>
> -static int nubus_bus_match(struct device *dev, struct device_driver *driver)
> -{
> - return 1;
> -}
> -
> static int nubus_device_probe(struct device *dev)
> {
> struct nubus_driver *ndrv = to_nubus_driver(dev->driver);
> @@ -39,7 +34,6 @@ static void nubus_device_remove(struct device *dev)
>
> struct bus_type nubus_bus_type = {
> .name = "nubus",
> - .match = nubus_bus_match,
> .probe = nubus_device_probe,
> .remove = nubus_device_remove,
> };
> diff --git a/drivers/s390/crypto/vfio_ap_drv.c b/drivers/s390/crypto/vfio_ap_drv.c
> index 29ebd54f8919..0a662c451f2a 100644
> --- a/drivers/s390/crypto/vfio_ap_drv.c
> +++ b/drivers/s390/crypto/vfio_ap_drv.c
> @@ -172,14 +172,8 @@ static void vfio_ap_matrix_dev_release(struct device *dev)
> kfree(matrix_dev);
> }
>
> -static int matrix_bus_match(struct device *dev, struct device_driver *drv)
> -{
> - return 1;
> -}
> -
> static struct bus_type matrix_bus = {
> .name = "matrix",
> - .match = &matrix_bus_match,
> };
>
> static struct device_driver matrix_driver = {
> diff --git a/drivers/scsi/scsi_debug.c b/drivers/scsi/scsi_debug.c
> index 592a290e6cfa..8107489b36e8 100644
> --- a/drivers/scsi/scsi_debug.c
> +++ b/drivers/scsi/scsi_debug.c
> @@ -7844,15 +7844,8 @@ static void sdebug_driver_remove(struct device *dev)
> scsi_host_put(sdbg_host->shost);
> }
>
> -static int pseudo_lld_bus_match(struct device *dev,
> - struct device_driver *dev_driver)
> -{
> - return 1;
> -}
> -
> static struct bus_type pseudo_lld_bus = {
> .name = "pseudo",
> - .match = pseudo_lld_bus_match,
> .probe = sdebug_driver_probe,
> .remove = sdebug_driver_remove,
> .drv_groups = sdebug_drv_groups,
> diff --git a/drivers/target/loopback/tcm_loop.c b/drivers/target/loopback/tcm_loop.c
> index 4407b56aa6d1..eeb63deff94f 100644
> --- a/drivers/target/loopback/tcm_loop.c
> +++ b/drivers/target/loopback/tcm_loop.c
> @@ -83,15 +83,8 @@ static int tcm_loop_show_info(struct seq_file *m, struct Scsi_Host *host)
> static int tcm_loop_driver_probe(struct device *);
> static void tcm_loop_driver_remove(struct device *);
>
> -static int pseudo_lld_bus_match(struct device *dev,
> - struct device_driver *dev_driver)
> -{
> - return 1;
> -}
> -
> static struct bus_type tcm_loop_lld_bus = {
> .name = "tcm_loop_bus",
> - .match = pseudo_lld_bus_match,
> .probe = tcm_loop_driver_probe,
> .remove = tcm_loop_driver_remove,
> };
> diff --git a/drivers/w1/w1.c b/drivers/w1/w1.c
> index f2ae2e563dc5..a6ecfa1b3417 100644
> --- a/drivers/w1/w1.c
> +++ b/drivers/w1/w1.c
> @@ -58,11 +58,6 @@ MODULE_PARM_DESC(slave_ttl,
> DEFINE_MUTEX(w1_mlock);
> LIST_HEAD(w1_masters);
>
> -static int w1_master_match(struct device *dev, struct device_driver *drv)
> -{
> - return 1;
> -}
> -
> static int w1_master_probe(struct device *dev)
> {
> return -ENODEV;
> @@ -174,7 +169,6 @@ static int w1_uevent(struct device *dev, struct kobj_uevent_env *env);
>
> static struct bus_type w1_bus_type = {
> .name = "w1",
> - .match = w1_master_match,
> .uevent = w1_uevent,
> };
>
> diff --git a/sound/ac97_bus.c b/sound/ac97_bus.c
> index b4685c53ff11..c7aee8c42c55 100644
> --- a/sound/ac97_bus.c
> +++ b/sound/ac97_bus.c
> @@ -75,19 +75,8 @@ int snd_ac97_reset(struct snd_ac97 *ac97, bool try_warm, unsigned int id,
> }
> EXPORT_SYMBOL_GPL(snd_ac97_reset);
>
> -/*
> - * Let drivers decide whether they want to support given codec from their
> - * probe method. Drivers have direct access to the struct snd_ac97
> - * structure and may decide based on the id field amongst other things.
> - */
> -static int ac97_bus_match(struct device *dev, struct device_driver *drv)
> -{
> - return 1;
> -}
> -
> struct bus_type ac97_bus_type = {
> .name = "ac97",
> - .match = ac97_bus_match,
> };
>
> static int __init ac97_bus_init(void)