diff options
| author | Andy Shevchenko <andriy.shevchenko@linux.intel.com> | 2022-06-17 21:23:38 +0300 | 
|---|---|---|
| committer | Lee Jones <lee@kernel.org> | 2022-07-19 10:54:40 +0100 | 
| commit | 99a7ec2f362261be1ccca702da099f39127a3388 (patch) | |
| tree | 5e5b48add21d2aab3a14e4db722f4d3eeccabd3b | |
| parent | 7e47943c3357222b9a970002a11f49b47152661a (diff) | |
mfd: dln2: Automatically detect and fill endpoint pointers
The usb_find_common_endpoints() finds and fills the endpoints
in accordance with their types. Use it to automatically detect
and fill endpoint pointers.
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Link: https://lore.kernel.org/r/20220617182338.32402-1-andriy.shevchenko@linux.intel.com
| -rw-r--r-- | drivers/mfd/dln2.c | 17 | 
1 files changed, 4 insertions, 13 deletions
| diff --git a/drivers/mfd/dln2.c b/drivers/mfd/dln2.c index 852129ea0766..6cd0b0c752d6 100644 --- a/drivers/mfd/dln2.c +++ b/drivers/mfd/dln2.c @@ -91,11 +91,6 @@ struct dln2_mod_rx_slots {  	spinlock_t lock;  }; -enum dln2_endpoint { -	DLN2_EP_OUT	= 0, -	DLN2_EP_IN	= 1, -}; -  struct dln2_dev {  	struct usb_device *usb_dev;  	struct usb_interface *interface; @@ -777,16 +772,12 @@ static int dln2_probe(struct usb_interface *interface,  	int ret;  	int i, j; -	if (hostif->desc.bInterfaceNumber != 0 || -	    hostif->desc.bNumEndpoints < 2) +	if (hostif->desc.bInterfaceNumber != 0)  		return -ENODEV; -	epout = &hostif->endpoint[DLN2_EP_OUT].desc; -	if (!usb_endpoint_is_bulk_out(epout)) -		return -ENODEV; -	epin = &hostif->endpoint[DLN2_EP_IN].desc; -	if (!usb_endpoint_is_bulk_in(epin)) -		return -ENODEV; +	ret = usb_find_common_endpoints(hostif, &epin, &epout, NULL, NULL); +	if (ret) +		return ret;  	dln2 = kzalloc(sizeof(*dln2), GFP_KERNEL);  	if (!dln2) | 
