Re: [PATCH] kernel/drivers: Remove redundant driver match function
Hello,
On Thu, May 05, 2022 at 09:59:52PM -0700, lizhe wrote:
If there is no driver match function, the driver core assumes that each candidate pair (driver, device) matches, see driver_match_device().
I wonder who is supposed to apply this patch. Either it should be split by file and go in via the respective maintainers, or it goes in via Greg's tree? I added Greg to To: for him to chime in.
Best regards Uwe
Signed-off-by: lizhe sensor1010@163.com
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
On Sat, May 07, 2022 at 10:21:37AM +0200, Uwe Kleine-König wrote:
Hello,
On Thu, May 05, 2022 at 09:59:52PM -0700, lizhe wrote:
If there is no driver match function, the driver core assumes that each candidate pair (driver, device) matches, see driver_match_device().
I wonder who is supposed to apply this patch. Either it should be split by file and go in via the respective maintainers, or it goes in via Greg's tree? I added Greg to To: for him to chime in.
It should be split up into each subsystem patch and submitted that way.
Best regards Uwe
Signed-off-by: lizhe sensor1010@163.com
We also need a "real name" here that is used to sign legal documents. I doubt an all-lower-case name is used that way, so I have to ask.
thanks,
greg k-h
HI : Uwe Kleine-Konig
This is the second time you have known the problem with this patch and have also replied with comments. Fthain, please consider receiving my patch
At 2022-05-07 16:21:37, "Uwe Kleine-König" u.kleine-koenig@pengutronix.de wrote:
Hello,
On Thu, May 05, 2022 at 09:59:52PM -0700, lizhe wrote:
If there is no driver match function, the driver core assumes that each candidate pair (driver, device) matches, see driver_match_device().
I wonder who is supposed to apply this patch. Either it should be split by file and go in via the respective maintainers, or it goes in via Greg's tree? I added Greg to To: for him to chime in.
Best regards Uwe
Signed-off-by: lizhe sensor1010@163.com
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
-- Pengutronix e.K. | Uwe Kleine-König | Industrial Linux Solutions | https://www.pengutronix.de/ |
participants (3)
-
Greg Kroah-Hartman
-
lizhe
-
Uwe Kleine-König