[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a4b065a1b96cf87078320374f7a682b3e3762336.camel@linaro.org>
Date: Tue, 25 Feb 2025 08:42:43 +0000
From: André Draszik <andre.draszik@...aro.org>
To: William McVicker <willmcvicker@...gle.com>
Cc: Heikki Krogerus <heikki.krogerus@...ux.intel.com>, Greg Kroah-Hartman
<gregkh@...uxfoundation.org>, Peter Griffin <peter.griffin@...aro.org>,
Tudor Ambarus <tudor.ambarus@...aro.org>, kernel-team@...roid.com,
linux-usb@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] usb: typec: tcpm/tcpci_maxim: better interrupt name
Hi Will,
On Fri, 2025-02-14 at 13:57 -0800, William McVicker wrote:
> On 02/13/2025, André Draszik wrote:
> > This changes the output of /proc/interrupts from the non-descriptive:
> > 1-0025
> > (or similar) to a more descriptive:
> > 1-0025-max33359
> >
> > This makes it easier to find the device, in particular if there are
> > multiple i2c devices, as one doesn't have to remember (or lookup) where
> > it is located.
> >
> > Signed-off-by: André Draszik <andre.draszik@...aro.org>
> > ---
> > drivers/usb/typec/tcpm/tcpci_maxim_core.c | 13 ++++++++++---
> > 1 file changed, 10 insertions(+), 3 deletions(-)
> >
> > diff --git a/drivers/usb/typec/tcpm/tcpci_maxim_core.c b/drivers/usb/typec/tcpm/tcpci_maxim_core.c
> > index fd1b80593367..46fc626589db 100644
> > --- a/drivers/usb/typec/tcpm/tcpci_maxim_core.c
> > +++ b/drivers/usb/typec/tcpm/tcpci_maxim_core.c
> > @@ -420,12 +420,14 @@ static irqreturn_t max_tcpci_isr(int irq, void *dev_id)
> > return IRQ_WAKE_THREAD;
> > }
> >
> > -static int max_tcpci_init_alert(struct max_tcpci_chip *chip, struct i2c_client *client)
> > +static int max_tcpci_init_alert(struct max_tcpci_chip *chip,
> > + struct i2c_client *client,
> > + const char *name)
> > {
> > int ret;
> >
> > ret = devm_request_threaded_irq(chip->dev, client->irq, max_tcpci_isr, max_tcpci_irq,
> > - (IRQF_TRIGGER_LOW | IRQF_ONESHOT), dev_name(chip->dev),
> > + (IRQF_TRIGGER_LOW | IRQF_ONESHOT), name,
> > chip);
> >
> > if (ret < 0)
> > @@ -485,6 +487,7 @@ static int max_tcpci_probe(struct i2c_client *client)
> > int ret;
> > struct max_tcpci_chip *chip;
> > u8 power_status;
> > + const char *name;
> >
> > chip = devm_kzalloc(&client->dev, sizeof(*chip), GFP_KERNEL);
> > if (!chip)
> > @@ -531,7 +534,11 @@ static int max_tcpci_probe(struct i2c_client *client)
> >
> > chip->port = tcpci_get_tcpm_port(chip->tcpci);
> >
> > - ret = max_tcpci_init_alert(chip, client);
> > + name = devm_kasprintf(&client->dev, GFP_KERNEL, "%s-%s",
> > + dev_name(&client->dev), client->name);
> > + if (!name)
> > + return -ENOMEM;
> > + ret = max_tcpci_init_alert(chip, client, name);
> > if (ret < 0)
> > return dev_err_probe(&client->dev, ret,
> > "IRQ initialization failed\n");
>
> Can you just change the `init_name` instead like this?
>
> chip->client->dev.init_name = name;
>
> That way calling `dev_name()` will get you this more informative name as well?
I don't think that member is supposed to be set by anybody. Looking
at device_add(), this seems to only be meant to be statically set
by statically allocated devices and is cleared upon device_add().
Essentially no driver sets this in the kernel.
So it doesn't appear to be appropriate.
Cheers,
Andre'
Powered by blists - more mailing lists