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@xxxxxxxxxx> > > --- > > 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'