LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* hid: struct device - replace bus_id with dev_name(), dev_set_name()
@ 2008-10-30 16:55 Kay Sievers
  2008-10-30 19:25 ` Jiri Slaby
  0 siblings, 1 reply; 6+ messages in thread
From: Kay Sievers @ 2008-10-30 16:55 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: linux-kernel, Greg KH

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@vrfy.org>
Subject: hid: struct device - replace bus_id with dev_name(), dev_set_name()

CC: Jiri Kosina <jkosina@suse.cz>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org>
---


diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 721a36d..73ccc37 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1573,9 +1573,8 @@ int hid_add_device(struct hid_device *hdev)
 	if (hid_ignore(hdev))
 		return -ENODEV;
 
-	/* XXX hack, any other cleaner solution < 20 bus_id bytes? */
-	sprintf(hdev->dev.bus_id, "%04X:%04X:%04X.%04X", hdev->bus,
-			hdev->vendor, hdev->product, atomic_inc_return(&id));
+	dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus,
+		     hdev->vendor, hdev->product, atomic_inc_return(&id));
 
 	ret = device_add(&hdev->dev);
 	if (!ret)



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hid: struct device - replace bus_id with dev_name(), dev_set_name()
  2008-10-30 16:55 hid: struct device - replace bus_id with dev_name(), dev_set_name() Kay Sievers
@ 2008-10-30 19:25 ` Jiri Slaby
  2008-10-30 19:35   ` Kay Sievers
  0 siblings, 1 reply; 6+ messages in thread
From: Jiri Slaby @ 2008-10-30 19:25 UTC (permalink / raw)
  To: Kay Sievers; +Cc: Jiri Kosina, linux-kernel, Greg KH

Kay Sievers napsal(a):
> switch over to the new api, which will remove the 20 bytes array
> and does no longer have a size limitation.

Cool!

> From: Kay Sievers <kay.sievers@vrfy.org>
> Subject: hid: struct device - replace bus_id with dev_name(), dev_set_name()
> 
> CC: Jiri Kosina <jkosina@suse.cz>
> Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
> Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org>
> ---
> 
> 
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 721a36d..73ccc37 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1573,9 +1573,8 @@ int hid_add_device(struct hid_device *hdev)
>  	if (hid_ignore(hdev))
>  		return -ENODEV;
>  
> -	/* XXX hack, any other cleaner solution < 20 bus_id bytes? */
> -	sprintf(hdev->dev.bus_id, "%04X:%04X:%04X.%04X", hdev->bus,
> -			hdev->vendor, hdev->product, atomic_inc_return(&id));
> +	dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus,
> +		     hdev->vendor, hdev->product, atomic_inc_return(&id));

Could you left the comment above to remind us about removing this ugly hack
later when the new non-limited api will be used?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hid: struct device - replace bus_id with dev_name(), dev_set_name()
  2008-10-30 19:25 ` Jiri Slaby
@ 2008-10-30 19:35   ` Kay Sievers
  2008-10-30 23:10     ` Jiri Kosina
  0 siblings, 1 reply; 6+ messages in thread
From: Kay Sievers @ 2008-10-30 19:35 UTC (permalink / raw)
  To: Jiri Slaby; +Cc: Jiri Kosina, linux-kernel, Greg KH

On Thu, 2008-10-30 at 20:25 +0100, Jiri Slaby wrote:
> Kay Sievers napsal(a):
> > switch over to the new api, which will remove the 20 bytes array
> > and does no longer have a size limitation.
> 
> Cool!

> Could you left the comment above to remind us about removing this ugly hack
> later when the new non-limited api will be used?

Sure!

Thanks,
Kay



From: Kay Sievers <kay.sievers@vrfy.org>
Subject: hid: struct device - replace bus_id with dev_name(), dev_set_name()

CC: Jiri Kosina <jkosina@suse.cz>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-Off-By: Kay Sievers <kay.sievers@vrfy.org>
---

diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 1903e75..27f1e16 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1613,9 +1613,10 @@ int hid_add_device(struct hid_device *hdev)
 	if (hid_ignore(hdev))
 		return -ENODEV;
 
-	/* XXX hack, any other cleaner solution < 20 bus_id bytes? */
-	sprintf(hdev->dev.bus_id, "%04X:%04X:%04X.%04X", hdev->bus,
-			hdev->vendor, hdev->product, atomic_inc_return(&id));
+	/* XXX hack, any other cleaner solution after the driver core
+	 * is converted to allow more than 20 bytes as the device name? */
+	dev_set_name(&hdev->dev, "%04X:%04X:%04X.%04X", hdev->bus,
+		     hdev->vendor, hdev->product, atomic_inc_return(&id));
 
 	ret = device_add(&hdev->dev);
 	if (!ret)



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hid: struct device - replace bus_id with dev_name(), dev_set_name()
  2008-10-30 19:35   ` Kay Sievers
@ 2008-10-30 23:10     ` Jiri Kosina
  2008-10-30 23:16       ` Kay Sievers
  0 siblings, 1 reply; 6+ messages in thread
From: Jiri Kosina @ 2008-10-30 23:10 UTC (permalink / raw)
  To: Kay Sievers; +Cc: Jiri Slaby, linux-kernel, Greg KH

On Thu, 30 Oct 2008, Kay Sievers wrote:

> > > switch over to the new api, which will remove the 20 bytes array
> > > and does no longer have a size limitation.
> > Cool!
> > Could you left the comment above to remind us about removing this ugly hack
> > later when the new non-limited api will be used?
> Sure!
> From: Kay Sievers <kay.sievers@vrfy.org>
> Subject: hid: struct device - replace bus_id with dev_name(), dev_set_name()

Hi Kay,

thanks for this cleanup. What is the timeframe the bus_id will be removed 
from struct device?

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hid: struct device - replace bus_id with dev_name(), dev_set_name()
  2008-10-30 23:10     ` Jiri Kosina
@ 2008-10-30 23:16       ` Kay Sievers
  2008-10-30 23:19         ` Jiri Kosina
  0 siblings, 1 reply; 6+ messages in thread
From: Kay Sievers @ 2008-10-30 23:16 UTC (permalink / raw)
  To: Jiri Kosina; +Cc: Jiri Slaby, linux-kernel, Greg KH

On Fri, Oct 31, 2008 at 00:10, Jiri Kosina <jkosina@suse.cz> wrote:
> On Thu, 30 Oct 2008, Kay Sievers wrote:
>
>> > > switch over to the new api, which will remove the 20 bytes array
>> > > and does no longer have a size limitation.
>> > Cool!
>> > Could you left the comment above to remind us about removing this ugly hack
>> > later when the new non-limited api will be used?
>> Sure!
>> From: Kay Sievers <kay.sievers@vrfy.org>
>> Subject: hid: struct device - replace bus_id with dev_name(), dev_set_name()
>
> Hi Kay,
>
> thanks for this cleanup. What is the timeframe the bus_id will be removed
> from struct device?

Hmm, not sure. We will put the remaining pieces into Greg's tree, wait
for -next to carry most of it, and convert the rest. Maybe we can do
it for the next kernel, but we might get sidetracked again, and it
might take longer.

Thanks,
Kay

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: hid: struct device - replace bus_id with dev_name(), dev_set_name()
  2008-10-30 23:16       ` Kay Sievers
@ 2008-10-30 23:19         ` Jiri Kosina
  0 siblings, 0 replies; 6+ messages in thread
From: Jiri Kosina @ 2008-10-30 23:19 UTC (permalink / raw)
  To: Kay Sievers; +Cc: Jiri Slaby, linux-kernel, Greg KH

On Fri, 31 Oct 2008, Kay Sievers wrote:

> >> Subject: hid: struct device - replace bus_id with dev_name(), dev_set_name()
> > thanks for this cleanup. What is the timeframe the bus_id will be removed
> > from struct device?
> Hmm, not sure. We will put the remaining pieces into Greg's tree, wait
> for -next to carry most of it, and convert the rest. Maybe we can do
> it for the next kernel, but we might get sidetracked again, and it
> might take longer.

OK, thanks. I just wanted to know how much hurry do you expect from 
subsystem maintainers with this change.

I have queued it for 2.6.29 now in my tree, thanks.

-- 
Jiri Kosina
SUSE Labs

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2008-10-30 23:19 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-10-30 16:55 hid: struct device - replace bus_id with dev_name(), dev_set_name() Kay Sievers
2008-10-30 19:25 ` Jiri Slaby
2008-10-30 19:35   ` Kay Sievers
2008-10-30 23:10     ` Jiri Kosina
2008-10-30 23:16       ` Kay Sievers
2008-10-30 23:19         ` Jiri Kosina

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).