Re: [PATCH v1] soc: qcom: apr: Drop unused apr_device_id

From: Srinivas Kandagatla

Date: Tue Jun 16 2026 - 16:47:15 EST




On 6/15/26 11:04 AM, Uwe Kleine-König (The Capable Hub) wrote:
> apr_device_id was introduced in commit 6adba21eb434 ("soc: qcom: Add APR
> bus driver") in 2018, and since then not a single driver made use of it.
>
> So drop the unused id_table pointer from struct apr_driver and move
> APR_NAME_SIZE to the apr header which still has a usage of it.
>
> Note that with the id_table being NULL apr_device_match() degrades to just
> of_driver_match_device(), so replace this callback accordingly.
>
> Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@xxxxxxxxxxxx>
> ---

Thanks for the cleanup.


Reviewed-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxxxxxxxx>


> drivers/soc/qcom/apr.c | 25 +------------------------
> include/linux/mod_devicetable.h | 11 -----------
> include/linux/soc/qcom/apr.h | 4 ++--
> 3 files changed, 3 insertions(+), 37 deletions(-)
>
> diff --git a/drivers/soc/qcom/apr.c b/drivers/soc/qcom/apr.c
> index ea7f83916d8d..2073edb416a4 100644
> --- a/drivers/soc/qcom/apr.c
> +++ b/drivers/soc/qcom/apr.c
> @@ -338,29 +338,6 @@ static void apr_rxwq(struct work_struct *work)
> }
> }
>
> -static int apr_device_match(struct device *dev, const struct device_driver *drv)
> -{
> - struct apr_device *adev = to_apr_device(dev);
> - const struct apr_driver *adrv = to_apr_driver(drv);
> - const struct apr_device_id *id = adrv->id_table;
> -
> - /* Attempt an OF style match first */
> - if (of_driver_match_device(dev, drv))
> - return 1;
> -
> - if (!id)
> - return 0;
> -
> - while (id->domain_id != 0 || id->svc_id != 0) {
> - if (id->domain_id == adev->domain_id &&
> - id->svc_id == adev->svc.id)
> - return 1;
> - id++;
> - }
> -
> - return 0;
> -}
> -
> static int apr_device_probe(struct device *dev)
> {
> struct apr_device *adev = to_apr_device(dev);
> @@ -401,7 +378,7 @@ static int apr_uevent(const struct device *dev, struct kobj_uevent_env *env)
>
> const struct bus_type aprbus = {
> .name = "aprbus",
> - .match = apr_device_match,
> + .match = of_driver_match_device,
> .probe = apr_device_probe,
> .uevent = apr_uevent,
> .remove = apr_device_remove,
> diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
> index 7f44057aa65e..d74ff3ee1424 100644
> --- a/include/linux/mod_devicetable.h
> +++ b/include/linux/mod_devicetable.h
> @@ -547,17 +547,6 @@ struct slim_device_id {
> kernel_ulong_t driver_data;
> };
>
> -#define APR_NAME_SIZE 32
> -#define APR_MODULE_PREFIX "apr:"
> -
> -struct apr_device_id {
> - char name[APR_NAME_SIZE];
> - __u32 domain_id;
> - __u32 svc_id;
> - __u32 svc_version;
> - kernel_ulong_t driver_data; /* Data private to the driver */
> -};
> -
> #define SPMI_NAME_SIZE 32
> #define SPMI_MODULE_PREFIX "spmi:"
>
> diff --git a/include/linux/soc/qcom/apr.h b/include/linux/soc/qcom/apr.h
> index 58fa1df96347..2e4231092088 100644
> --- a/include/linux/soc/qcom/apr.h
> +++ b/include/linux/soc/qcom/apr.h
> @@ -5,7 +5,6 @@
>
> #include <linux/spinlock.h>
> #include <linux/device.h>
> -#include <linux/mod_devicetable.h>
> #include <dt-bindings/soc/qcom,apr.h>
> #include <dt-bindings/soc/qcom,gpr.h>
>
> @@ -135,6 +134,8 @@ struct pkt_router_svc {
>
> typedef struct pkt_router_svc gpr_port_t;
>
> +#define APR_NAME_SIZE 32
> +
> struct apr_device {
> struct device dev;
> uint16_t svc_id;
> @@ -158,7 +159,6 @@ struct apr_driver {
> const struct apr_resp_pkt *d);
> gpr_port_cb gpr_callback;
> struct device_driver driver;
> - const struct apr_device_id *id_table;
> };
>
> typedef struct apr_driver gpr_driver_t;
>
> base-commit: c425609d6ac4012c8bbf01ec2e10e801b1923a7b