All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gustavo Padovan <gustavo@padovan.org>
To: Henrik Rydberg <rydberg@euromail.se>
Cc: Jiri Kosina <jkosina@suse.cz>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v3 4/6] hid: Create a generic device group
Date: Mon, 23 Apr 2012 18:26:59 -0300	[thread overview]
Message-ID: <20120423212659.GD18564@joana> (raw)
In-Reply-To: <1335175627-2270-5-git-send-email-rydberg@euromail.se>

Hi Henrik,

* Henrik Rydberg <rydberg@euromail.se> [2012-04-23 12:07:05 +0200]:

> Devices that do not have a special driver are handled by the generic
> driver. This patch does the same thing using device groups; Instead of
> forcing a particular driver, the appropriate driver is picked up by
> udev. As a consequence, one can now move a device from generic to
> specific handling by a simple rebind. By adding a new device id to the
> generic driver, the same thing can be done in reverse.
> 
> Cc: Gustavo Padovan <gustavo@padovan.org>
> Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
> ---
>  drivers/hid/hid-core.c        |    9 +--------
>  drivers/hid/usbhid/hid-core.c |    2 +-
>  include/linux/hid.h           |   12 ++++++------
>  net/bluetooth/hidp/core.c     |    2 +-
>  4 files changed, 9 insertions(+), 16 deletions(-)
> 
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 20daee5..cb5a103 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1800,14 +1800,7 @@ static int hid_bus_match(struct device *dev, struct device_driver *drv)
>  		!strncmp(hdrv->name, "hid-multitouch", 14))
>  		return 1;
>  
> -	if (!hid_match_device(hdev, hdrv))
> -		return 0;
> -
> -	/* generic wants all that don't have specialized driver */
> -	if (!strncmp(hdrv->name, "generic-", 8) && !hid_ignore_special_drivers)
> -		return !hid_match_id(hdev, hid_have_special_driver);
> -
> -	return 1;
> +	return hid_match_device(hdev, hdrv) != NULL;
>  }
>  
>  static int hid_device_probe(struct device *dev)
> diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c
> index 5bf91db..9abf718 100644
> --- a/drivers/hid/usbhid/hid-core.c
> +++ b/drivers/hid/usbhid/hid-core.c
> @@ -1505,7 +1505,7 @@ static struct usb_driver hid_driver = {
>  };
>  
>  static const struct hid_device_id hid_usb_table[] = {
> -	{ HID_USB_DEVICE(HID_ANY_ID, HID_ANY_ID) },
> +	{ HID_DEVICE(BUS_USB, HID_GROUP_GENERIC, HID_ANY_ID, HID_ANY_ID) },
>  	{ }
>  };
>  
> diff --git a/include/linux/hid.h b/include/linux/hid.h
> index f45d33d..dd694fb 100644
> --- a/include/linux/hid.h
> +++ b/include/linux/hid.h
> @@ -586,12 +586,12 @@ struct hid_descriptor {
>  	struct hid_class_descriptor desc[1];
>  } __attribute__ ((packed));
>  
> -#define HID_DEVICE(b, ven, prod) \
> -	.bus = (b), \
> -	.vendor = (ven), .product = (prod)
> -
> -#define HID_USB_DEVICE(ven, prod)	HID_DEVICE(BUS_USB, ven, prod)
> -#define HID_BLUETOOTH_DEVICE(ven, prod)	HID_DEVICE(BUS_BLUETOOTH, ven, prod)
> +#define HID_DEVICE(b, g, ven, prod)					\
> +	.bus = (b), .group = (g), .vendor = (ven), .product = (prod)
> +#define HID_USB_DEVICE(ven, prod)				\
> +	.bus = BUS_USB, .vendor = (ven), .product = (prod)
> +#define HID_BLUETOOTH_DEVICE(ven, prod)					\
> +	.bus = BUS_BLUETOOTH, .vendor = (ven), .product = (prod)

It seems we don't use this macro anywhere else, why did you keep it?

	Gustavo

  reply	other threads:[~2012-04-23 21:27 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-23 10:07 [PATCH v3 0/6] hid: Introduce device groups Henrik Rydberg
2012-04-23 10:07 ` [PATCH v2 1/6] hid: Add device group to modalias Henrik Rydberg
2012-04-23 10:07 ` [PATCH 2/6] hid: Scan the device for group info before adding it Henrik Rydberg
2012-04-24 12:31   ` Jiri Kosina
2012-04-24 12:41     ` Henrik Rydberg
2012-04-23 10:07 ` [PATCH v2 3/6] hid: Allow bus wildcard matching Henrik Rydberg
2012-04-23 10:07 ` [PATCH v3 4/6] hid: Create a generic device group Henrik Rydberg
2012-04-23 21:26   ` Gustavo Padovan [this message]
2012-04-23 22:31     ` Henrik Rydberg
2012-04-23 10:07 ` [PATCH v3 5/6] hid-multitouch: Switch to device groups Henrik Rydberg
2012-04-30 14:58   ` Benjamin Tissoires
2012-04-30 14:58     ` Benjamin Tissoires
2012-04-30 16:42     ` Jiri Kosina
2012-04-30 18:30     ` Henrik Rydberg
2012-04-30 18:51       ` Benjamin Tissoires
2012-04-30 18:51         ` Benjamin Tissoires
2012-05-01  6:35         ` Henrik Rydberg
2012-04-23 10:07 ` [PATCH 6/6] hid: Create a common generic driver Henrik Rydberg
2012-04-23 10:51 ` [PATCH v3 0/6] hid: Introduce device groups Benjamin Tissoires
2012-04-23 10:51   ` Benjamin Tissoires
2012-04-23 15:21 ` Benjamin Tissoires
2012-04-23 15:21   ` Benjamin Tissoires
2012-04-30  8:35 ` Jiri Kosina
2012-04-30  8:44   ` Jiri Kosina
2012-04-30 11:53     ` Henrik Rydberg
2012-04-30 11:55       ` Jiri Kosina
2012-05-01 12:23         ` Jiri Kosina
2012-05-01 11:03 ` Jiri Kosina
2012-05-02  5:46   ` Henrik Rydberg
2012-05-02  8:33   ` Benjamin Tissoires
2012-05-02  8:45     ` Jiri Kosina
2012-05-02 10:55       ` Benjamin Tissoires
2012-05-03 10:06         ` Benjamin Tissoires
2012-05-03 12:23           ` Henrik Rydberg
2012-05-03 12:45             ` Benjamin Tissoires
2012-05-03 13:19               ` Henrik Rydberg
2012-05-03 13:37                 ` Benjamin Tissoires
2012-05-03 13:54                   ` Henrik Rydberg
2012-05-03 14:04                     ` Benjamin Tissoires
2012-05-03 14:16                       ` Henrik Rydberg

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=20120423212659.GD18564@joana \
    --to=gustavo@padovan.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rydberg@euromail.se \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.