Re: sound: struct device - replace bus_id with dev_name(), dev_set_name()

From: Takashi Iwai
Date: Thu Oct 30 2008 - 02:46:33 EST


At Thu, 30 Oct 2008 02:27:20 +0100,
Kay Sievers wrote:
>
> This patch is part of a larger patch series which will remove
> the "char bus_id[20]" name string from struct device. The device
> name is managed in the kobject anyway, and without any size
> limitation, and just needlessly copied into "struct device".
>
> To set and read the device name dev_name(dev) and dev_set_name(dev)
> must be used. If your code uses static kobjects, which it shouldn't
> do, "const char *init_name" can be used to statically provide the
> name the registered device should have. At registration time, the
> init_name field is cleared, to enforce the use of dev_name(dev) to
> access the device name at a later time.
>
> We need to get rid of all occurrences of bus_id in the entire tree
> to be able to enable the new interface. Please apply this patch,
> and possibly convert any remaining remaining occurrences of bus_id.
>
> We want to submit a patch to -next, which will remove bus_id from
> "struct device", to find the remaining pieces to convert, and finally
> switch over to the new api, which will remove the 20 bytes array
> and does no longer have a size limitation.
>
> Thanks,
> Kay
>
>
> From: Kay Sievers <kay.sievers@xxxxxxxx>
> Subject: sound: struct device - replace bus_id with dev_name(), dev_set_name()
>
> CC: Takashi Iwai <tiwai@xxxxxxx>
> Acked-by: Greg Kroah-Hartman <gregkh@xxxxxxx>
> Signed-Off-By: Kay Sievers <kay.sievers@xxxxxxxx>

Thanks, applied now to sound tree.


Takashi

> ---
>
>
> diff --git a/sound/pci/ac97/ac97_codec.c b/sound/pci/ac97/ac97_codec.c
> index 6704acb..bd510ec 100644
> --- a/sound/pci/ac97/ac97_codec.c
> +++ b/sound/pci/ac97/ac97_codec.c
> @@ -1927,9 +1927,9 @@ static int snd_ac97_dev_register(struct snd_device *device)
> ac97->dev.bus = &ac97_bus_type;
> ac97->dev.parent = ac97->bus->card->dev;
> ac97->dev.release = ac97_device_release;
> - snprintf(ac97->dev.bus_id, BUS_ID_SIZE, "%d-%d:%s",
> - ac97->bus->card->number, ac97->num,
> - snd_ac97_get_short_name(ac97));
> + dev_set_name(&ac97->dev, "%d-%d:%s",
> + ac97->bus->card->number, ac97->num,
> + snd_ac97_get_short_name(ac97));
> if ((err = device_register(&ac97->dev)) < 0) {
> snd_printk(KERN_ERR "Can't register ac97 bus\n");
> ac97->dev.bus = NULL;
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/