mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Bruno Prémont" <bonbons@linux-vserver.org>
To: Jiri Kosina <jkosina@suse.cz>
Cc: linux-input@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	"Rick L. Vinyard Jr." <rvinyard@cs.nmsu.edu>,
	Nicu Pavel <npavel@ituner.com>
Subject: Re: [PATCH 1/3] picolcd: driver for PicoLCD HID device
Date: Sat, 13 Mar 2010 20:39:53 +0100	[thread overview]
Message-ID: <20100313203953.0f3436b3@neptune.home> (raw)
In-Reply-To: <alpine.LNX.2.00.1002251615570.30967@pobox.suse.cz>

On Thu, 25 February 2010 Jiri Kosina <jkosina@suse.cz> wrote:
> On Thu, 25 Feb 2010, Bruno Prémont wrote:
> 
> > For the two sysfs attributes I currently use, the 'reset' one shall 
> > probably be moved to debugfs (I would like to place it under 
> > /sys/kernel/debug/hid/$device/ next to rdesc and events).
> 
> Yes, that would make sense.

Hm, that works only when driver module gets loaded when USBHID device
is already plugged in.
When driver is registered and has it's probe function called on hotplug
it runs right before hid-core registers the debugfs entries.
As such hid_device's debug_dir is still NULL.

To get around this, in hid_add_device(), hid_debug_register() would
have to be called before device_add() instead of right after.

Is something like below acceptable? (from error handling point of view
it makes no difference...)

Thanks,
Bruno

file: drivers/hid/hid-core.c

 int hid_add_device(struct hid_device *hdev)
 {
         static atomic_t id = ATOMIC_INIT(0);
         int ret;
 
         if (WARN_ON(hdev->status & HID_STAT_ADDED))
                 return -EBUSY;
 
         /* we need to kill them here, otherwise they will stay allocated to
          * wait for coming driver */
         if (hid_ignore(hdev))
                 return -ENODEV;
 
         /* 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));
 
+        hid_debug_register(hdev, dev_name(&hdev->dev));
         ret = device_add(&hdev->dev);
         if (!ret)
                 hdev->status |= HID_STAT_ADDED;
 
-        hid_debug_register(hdev, dev_name(&hdev->dev));
 
         return ret;
 }
 EXPORT_SYMBOL_GPL(hid_add_device);


  parent reply	other threads:[~2010-03-13 19:40 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-02-20 23:10 [Patch 0/3] backlight Bruno Prémont
2010-02-20 23:18 ` [PATCH 2/3] backlight: mark struct backlight_ops const Bruno Prémont
2010-02-22 19:35   ` Mike Frysinger
2010-02-26 11:56   ` [PATCH] " Bruno Prémont
2010-02-20 23:20 ` [PATCH 1/3] backlight: Add backlight_device parameter to check_fb Bruno Prémont
2010-02-24 16:00   ` [PATCH 1/3] picolcd: driver for PicoLCD HID device Bruno Prémont
2010-02-24 16:01     ` [PATCH 2/3] hid: add suspend/resume hooks for hid drivers Bruno Prémont
2010-02-25  4:19       ` Oliver Neukum
2010-02-25 10:12         ` Bruno Prémont
2010-02-24 16:01     ` [PATCH 3/3] hid-picolcd: make use of new suspend/resume hooks Bruno Prémont
2010-02-24 18:27     ` [PATCH 1/3] picolcd: driver for PicoLCD HID device Oliver Neukum
2010-02-24 21:44       ` Rick L. Vinyard, Jr.
2010-02-25  4:11         ` Oliver Neukum
2010-02-25 11:00         ` Jiri Kosina
2010-02-25 15:34           ` Rick L. Vinyard, Jr.
2010-02-26  8:12             ` Dmitry Torokhov
2010-02-25 11:07     ` Jiri Kosina
2010-02-25 11:32       ` Bruno Prémont
2010-02-25 15:18         ` Jiri Kosina
2010-02-25 15:29           ` Bruno Prémont
2010-03-13 19:39           ` Bruno Prémont [this message]
2010-03-13 21:35             ` Alan Stern
2010-03-13 22:13               ` [PATCH] hid: Register debugfs entries before adding device Bruno Prémont
2010-03-15 13:48                 ` Jiri Kosina
2010-02-25 17:52         ` [PATCH 1/3] picolcd: driver for PicoLCD HID device Rick L. Vinyard, Jr.
2010-02-26  8:15       ` Dmitry Torokhov
2010-03-03  6:04     ` Pavel Machek
2010-02-26 11:53   ` [PATCH] backlight: Add backlight_device parameter to check_fb Bruno Prémont
2010-02-20 23:28 ` [PATCH 3/3] backlight: fix missing/incomplete registration failure handling Bruno Prémont
2010-02-21  8:04   ` Harald Welte
2010-02-21 13:35   ` Thadeu Lima de Souza Cascardo
2010-02-24 15:33     ` Anisse Astier
2010-02-26 11:59   ` [PATCH] backlight, classmate-laptop: fix missing " Bruno Prémont
2010-02-26 16:20     ` Thadeu Lima de Souza Cascardo
2010-02-26 16:32       ` Matthew Garrett
2010-02-26 16:45         ` Richard Purdie
2010-02-26 22:25           ` Bruno Prémont
2010-02-26 12:02   ` [PATCH] backlight, appledisplay: fix incomplete " Bruno Prémont
2010-02-26 12:04   ` [PATCH] backlight, blackfin: fix missing " Bruno Prémont
2010-02-26 12:17   ` [PATCH] backlight, msi-laptop, msi-wmi: fix incomplete " Bruno Prémont
2010-02-26 12:20   ` [PATCH] backlight, panasonic-laptop: " Bruno Prémont

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20100313203953.0f3436b3@neptune.home \
    --to=bonbons@linux-vserver.org \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=npavel@ituner.com \
    --cc=rvinyard@cs.nmsu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®