From: Felipe Balbi <balbi@kernel.org>
To: Pawel Laszczak <pawell@cadence.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Kishon Vijay Abraham I <kishon@ti.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"rogerq@ti.com" <rogerq@ti.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Alan Douglas <adouglas@cadence.com>,
"jbergsagel@ti.com" <jbergsagel@ti.com>,
"nsekhar@ti.com" <nsekhar@ti.com>, "nm@ti.com" <nm@ti.com>,
Suresh Punnoose <sureshp@cadence.com>,
"peter.chen@nxp.com" <peter.chen@nxp.com>,
Pawel Jez <pjez@cadence.com>, Rahul Kumar <kurahul@cadence.com>
Subject: [v1,2/2] usb:cdns3 Add Cadence USB3 DRD Driver
Date: Mon, 17 Dec 2018 13:34:00 +0200 [thread overview]
Message-ID: <87sgywgzfb.fsf@linux.intel.com> (raw)
Hi,
Pawel Laszczak <pawell@cadence.com> writes:
>>>>> + case USB_REQ_SET_ISOCH_DELAY:
>>>>> + sprintf(str, "Set Isochronous Delay Delay: %d ns", wValue);
>>>>> + break;
>>>>> + default:
>>>>> + sprintf(str,
>>>>> + "SETUP BRT: %02x BR: %02x V: %04x I: %04x L: %04x\n",
>>>>> + bRequestType, bRequest,
>>>>> + wValue, wIndex, wLength);
>>>>> + }
>>>>> +
>>>>> + return str;
>>>>> +}
>>>>
>>>>All of these are a flat out copy of dwc3's implementation. It's much,
>>>>much better to turn dwc3's implementation into a generic, reusable
>>>>library function then spinning your own as a duplicated effort.
>>> I agree,
>>> It would be nice to have a set of decoding function in some generic library. It could be used
>>> also by other drivers.
>>> Who should do this ?
>>
>>since you're the first to reuse it, then it should be you :-)
>
> So I can prepare debug.h in drivers/usb/gadget directory.
no, not there. Host drivers can rely on it too, if they want. Let's have
it on drivers/usb/common/debug.c (or some other name) and a header under include/linux/usb/
> Function form drivers/usb/dwc3/debug.h that could be common are:
>
> static inline void dwc3_decode_get_status(__u8 t, __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_get_set_descriptor(__u8 t, __u8 b, __u16 v,
> __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_set_clear_feature(__u8 t, __u8 b, __u16 v, __u16 i, char *str)
> static inline void dwc3_decode_set_address(__u16 v, char *str)
> static inline void dwc3_decode_get_set_descriptor(__u8 t, __u8 b, __u16 v, __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_get_configuration(__u16 l, char *str)
> static inline void dwc3_decode_set_configuration(__u8 v, char *str)
> static inline void dwc3_decode_get_intf(__u16 i, __u16 l, char *str)
> static inline void dwc3_decode_set_intf(__u8 v, __u16 i, char *str)
> static inline void dwc3_decode_synch_frame(__u16 i, __u16 l, char *str)
> static inline const char *dwc3_decode_ctrl(char *str, __u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength)
>
> After changed it could looks like:
> static inline void usb_decode_get_status(__u8 bRequestType, __u16 wIndex, __u16 wLength, char *str)
> static inline void usb _decode_get_set_descriptor(__u8 bRequestType, __u8 bRequest, __u16 wValue,
> __u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_set_clear_feature(__u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, char *str)
> static inline void usb_decode_set_address(__u16 v, char *str)
> static inline void usb_decode_get_set_descriptor(__u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_get_configuration(__u16 wLength, char *str)
> static inline void usb_decode_set_configuration(__u8 wValue, char *str)
> static inline void usb_decode_get_intf(__u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_set_intf(__u8 wValue, __u16 wIndex, char *str)
> static inline void usb_decode_synch_frame(__u16 wIndex, __u16 wLength, char *str)
> static inline const char * usb _decode_ctrl(char *str, __u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength)
>
> Sorry but I prefer some more significant names :)
meh, no worries
> For me functions in drivers/usb/dwc3/debug.h looks ok, but I think that could be better to
> add additional usb_decode_test_mode and usb_decode_device_feature and little simplify usb_decode_get_set_descriptor.
sure, just propose patches. Just make sure that your patches do a single
thing per patch. Meaning, first you add a patch moving functions to
drivers/usb/common and updating dwc3, then you add another to decode
test mode (then update dwc3), and another simplifying set_descriptor.
> What do you think about this?
>
> One more question.
> Can I add drivers/usb/gadget/debug.h file as part of my set patches, or this should be done as separate, new patch ?
Your first patch moving functions from dwc3 should move them somewhere ;)
WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@kernel.org>
To: Pawel Laszczak <pawell@cadence.com>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Kishon Vijay Abraham I <kishon@ti.com>
Cc: "gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"rogerq@ti.com" <rogerq@ti.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Alan Douglas <adouglas@cadence.com>,
"jbergsagel@ti.com" <jbergsagel@ti.com>,
"nsekhar@ti.com" <nsekhar@ti.com>, "nm@ti.com" <nm@ti.com>,
Suresh Punnoose <sureshp@cadence.com>,
"peter.chen@nxp.com" <peter.chen@nxp.com>,
Pawel Jez <pjez@cadence.com>, Rahul Kumar <kurahul@cadence.com>
Subject: RE: [PATCH v1 2/2] usb:cdns3 Add Cadence USB3 DRD Driver
Date: Mon, 17 Dec 2018 13:34:00 +0200 [thread overview]
Message-ID: <87sgywgzfb.fsf@linux.intel.com> (raw)
In-Reply-To: <BYAPR07MB4709B102102DA96FE975264ADDBC0@BYAPR07MB4709.namprd07.prod.outlook.com>
[-- Attachment #1: Type: text/plain, Size: 4195 bytes --]
Hi,
Pawel Laszczak <pawell@cadence.com> writes:
>>>>> + case USB_REQ_SET_ISOCH_DELAY:
>>>>> + sprintf(str, "Set Isochronous Delay Delay: %d ns", wValue);
>>>>> + break;
>>>>> + default:
>>>>> + sprintf(str,
>>>>> + "SETUP BRT: %02x BR: %02x V: %04x I: %04x L: %04x\n",
>>>>> + bRequestType, bRequest,
>>>>> + wValue, wIndex, wLength);
>>>>> + }
>>>>> +
>>>>> + return str;
>>>>> +}
>>>>
>>>>All of these are a flat out copy of dwc3's implementation. It's much,
>>>>much better to turn dwc3's implementation into a generic, reusable
>>>>library function then spinning your own as a duplicated effort.
>>> I agree,
>>> It would be nice to have a set of decoding function in some generic library. It could be used
>>> also by other drivers.
>>> Who should do this ?
>>
>>since you're the first to reuse it, then it should be you :-)
>
> So I can prepare debug.h in drivers/usb/gadget directory.
no, not there. Host drivers can rely on it too, if they want. Let's have
it on drivers/usb/common/debug.c (or some other name) and a header under include/linux/usb/
> Function form drivers/usb/dwc3/debug.h that could be common are:
>
> static inline void dwc3_decode_get_status(__u8 t, __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_get_set_descriptor(__u8 t, __u8 b, __u16 v,
> __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_set_clear_feature(__u8 t, __u8 b, __u16 v, __u16 i, char *str)
> static inline void dwc3_decode_set_address(__u16 v, char *str)
> static inline void dwc3_decode_get_set_descriptor(__u8 t, __u8 b, __u16 v, __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_get_configuration(__u16 l, char *str)
> static inline void dwc3_decode_set_configuration(__u8 v, char *str)
> static inline void dwc3_decode_get_intf(__u16 i, __u16 l, char *str)
> static inline void dwc3_decode_set_intf(__u8 v, __u16 i, char *str)
> static inline void dwc3_decode_synch_frame(__u16 i, __u16 l, char *str)
> static inline const char *dwc3_decode_ctrl(char *str, __u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength)
>
> After changed it could looks like:
> static inline void usb_decode_get_status(__u8 bRequestType, __u16 wIndex, __u16 wLength, char *str)
> static inline void usb _decode_get_set_descriptor(__u8 bRequestType, __u8 bRequest, __u16 wValue,
> __u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_set_clear_feature(__u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, char *str)
> static inline void usb_decode_set_address(__u16 v, char *str)
> static inline void usb_decode_get_set_descriptor(__u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_get_configuration(__u16 wLength, char *str)
> static inline void usb_decode_set_configuration(__u8 wValue, char *str)
> static inline void usb_decode_get_intf(__u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_set_intf(__u8 wValue, __u16 wIndex, char *str)
> static inline void usb_decode_synch_frame(__u16 wIndex, __u16 wLength, char *str)
> static inline const char * usb _decode_ctrl(char *str, __u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength)
>
> Sorry but I prefer some more significant names :)
meh, no worries
> For me functions in drivers/usb/dwc3/debug.h looks ok, but I think that could be better to
> add additional usb_decode_test_mode and usb_decode_device_feature and little simplify usb_decode_get_set_descriptor.
sure, just propose patches. Just make sure that your patches do a single
thing per patch. Meaning, first you add a patch moving functions to
drivers/usb/common and updating dwc3, then you add another to decode
test mode (then update dwc3), and another simplifying set_descriptor.
> What do you think about this?
>
> One more question.
> Can I add drivers/usb/gadget/debug.h file as part of my set patches, or this should be done as separate, new patch ?
Your first patch moving functions from dwc3 should move them somewhere ;)
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: Felipe Balbi <balbi@kernel.org>
To: Pawel Laszczak <pawell@cadence.com>,
"devicetree\@vger.kernel.org" <devicetree@vger.kernel.org>,
Kishon Vijay Abraham I <kishon@ti.com>
Cc: "gregkh\@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-usb\@vger.kernel.org" <linux-usb@vger.kernel.org>,
"rogerq\@ti.com" <rogerq@ti.com>,
"linux-kernel\@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Alan Douglas <adouglas@cadence.com>,
"jbergsagel\@ti.com" <jbergsagel@ti.com>,
"nsekhar\@ti.com" <nsekhar@ti.com>, "nm\@ti.com" <nm@ti.com>,
Suresh Punnoose <sureshp@cadence.com>,
"peter.chen\@nxp.com" <peter.chen@nxp.com>,
Pawel Jez <pjez@cadence.com>, Rahul Kumar <kurahul@cadence.com>
Subject: RE: [PATCH v1 2/2] usb:cdns3 Add Cadence USB3 DRD Driver
Date: Mon, 17 Dec 2018 13:34:00 +0200 [thread overview]
Message-ID: <87sgywgzfb.fsf@linux.intel.com> (raw)
In-Reply-To: <BYAPR07MB4709B102102DA96FE975264ADDBC0@BYAPR07MB4709.namprd07.prod.outlook.com>
[-- Attachment #1: Type: text/plain, Size: 4195 bytes --]
Hi,
Pawel Laszczak <pawell@cadence.com> writes:
>>>>> + case USB_REQ_SET_ISOCH_DELAY:
>>>>> + sprintf(str, "Set Isochronous Delay Delay: %d ns", wValue);
>>>>> + break;
>>>>> + default:
>>>>> + sprintf(str,
>>>>> + "SETUP BRT: %02x BR: %02x V: %04x I: %04x L: %04x\n",
>>>>> + bRequestType, bRequest,
>>>>> + wValue, wIndex, wLength);
>>>>> + }
>>>>> +
>>>>> + return str;
>>>>> +}
>>>>
>>>>All of these are a flat out copy of dwc3's implementation. It's much,
>>>>much better to turn dwc3's implementation into a generic, reusable
>>>>library function then spinning your own as a duplicated effort.
>>> I agree,
>>> It would be nice to have a set of decoding function in some generic library. It could be used
>>> also by other drivers.
>>> Who should do this ?
>>
>>since you're the first to reuse it, then it should be you :-)
>
> So I can prepare debug.h in drivers/usb/gadget directory.
no, not there. Host drivers can rely on it too, if they want. Let's have
it on drivers/usb/common/debug.c (or some other name) and a header under include/linux/usb/
> Function form drivers/usb/dwc3/debug.h that could be common are:
>
> static inline void dwc3_decode_get_status(__u8 t, __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_get_set_descriptor(__u8 t, __u8 b, __u16 v,
> __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_set_clear_feature(__u8 t, __u8 b, __u16 v, __u16 i, char *str)
> static inline void dwc3_decode_set_address(__u16 v, char *str)
> static inline void dwc3_decode_get_set_descriptor(__u8 t, __u8 b, __u16 v, __u16 i, __u16 l, char *str)
> static inline void dwc3_decode_get_configuration(__u16 l, char *str)
> static inline void dwc3_decode_set_configuration(__u8 v, char *str)
> static inline void dwc3_decode_get_intf(__u16 i, __u16 l, char *str)
> static inline void dwc3_decode_set_intf(__u8 v, __u16 i, char *str)
> static inline void dwc3_decode_synch_frame(__u16 i, __u16 l, char *str)
> static inline const char *dwc3_decode_ctrl(char *str, __u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength)
>
> After changed it could looks like:
> static inline void usb_decode_get_status(__u8 bRequestType, __u16 wIndex, __u16 wLength, char *str)
> static inline void usb _decode_get_set_descriptor(__u8 bRequestType, __u8 bRequest, __u16 wValue,
> __u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_set_clear_feature(__u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, char *str)
> static inline void usb_decode_set_address(__u16 v, char *str)
> static inline void usb_decode_get_set_descriptor(__u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_get_configuration(__u16 wLength, char *str)
> static inline void usb_decode_set_configuration(__u8 wValue, char *str)
> static inline void usb_decode_get_intf(__u16 wIndex, __u16 wLength, char *str)
> static inline void usb_decode_set_intf(__u8 wValue, __u16 wIndex, char *str)
> static inline void usb_decode_synch_frame(__u16 wIndex, __u16 wLength, char *str)
> static inline const char * usb _decode_ctrl(char *str, __u8 bRequestType, __u8 bRequest, __u16 wValue, __u16 wIndex, __u16 wLength)
>
> Sorry but I prefer some more significant names :)
meh, no worries
> For me functions in drivers/usb/dwc3/debug.h looks ok, but I think that could be better to
> add additional usb_decode_test_mode and usb_decode_device_feature and little simplify usb_decode_get_set_descriptor.
sure, just propose patches. Just make sure that your patches do a single
thing per patch. Meaning, first you add a patch moving functions to
drivers/usb/common and updating dwc3, then you add another to decode
test mode (then update dwc3), and another simplifying set_descriptor.
> What do you think about this?
>
> One more question.
> Can I add drivers/usb/gadget/debug.h file as part of my set patches, or this should be done as separate, new patch ?
Your first patch moving functions from dwc3 should move them somewhere ;)
--
balbi
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 832 bytes --]
next reply other threads:[~2018-12-17 11:34 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-12-17 11:34 Felipe Balbi [this message]
2018-12-17 11:34 ` [PATCH v1 2/2] usb:cdns3 Add Cadence USB3 DRD Driver Felipe Balbi
2018-12-17 11:34 ` Felipe Balbi
-- strict thread matches above, loose matches on Subject: below --
2018-12-31 5:35 [v1,1/2] dt-bindings: add binding for USBSS-DRD controller Pawel Laszczak
2018-12-31 5:35 ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-27 21:01 [v1,1/2] " Rob Herring
2018-12-27 21:01 ` [PATCH v1 1/2] " Rob Herring
2018-12-22 22:24 [v1,1/2] " Pawel Laszczak
2018-12-22 22:24 ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-20 20:01 [v1,1/2] " Rob Herring
2018-12-20 20:01 ` [PATCH v1 1/2] " Rob Herring
2018-12-17 11:56 [v1,2/2] usb:cdns3 Add Cadence USB3 DRD Driver Felipe Balbi
2018-12-17 11:56 ` [PATCH v1 2/2] " Felipe Balbi
2018-12-17 11:56 ` Felipe Balbi
2018-12-17 11:51 [v1,2/2] " Pawel Laszczak
2018-12-17 11:51 ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-17 11:25 [v1,2/2] " Pawel Laszczak
2018-12-17 11:25 ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-17 5:46 [v1,2/2] " Pawel Laszczak
2018-12-17 5:46 ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-16 13:01 [v1,2/2] " Pawel Laszczak
2018-12-16 13:01 ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-14 22:56 [v1,2/2] " kbuild test robot
2018-12-14 22:56 ` [PATCH v1 2/2] " kbuild test robot
2018-12-14 22:56 ` kbuild test robot
2018-12-14 3:46 [v1,2/2] " Kishon Vijay Abraham I
2018-12-14 3:46 ` [PATCH v1 2/2] " Kishon Vijay Abraham I
2018-12-13 9:35 [v1,2/2] " Peter Chen
2018-12-13 9:35 ` [PATCH v1 2/2] " Peter Chen
2018-12-13 9:25 [v1,1/2] dt-bindings: add binding for USBSS-DRD controller Pawel Laszczak
2018-12-13 9:25 ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-13 9:20 [v1,1/2] " Peter Chen
2018-12-13 9:20 ` [PATCH v1 1/2] " Peter Chen
2018-12-13 1:21 [v1,2/2] usb:cdns3 Add Cadence USB3 DRD Driver Peter Chen
2018-12-13 1:21 ` [PATCH v1 2/2] " Peter Chen
2018-12-12 15:53 [v1,2/2] " Bin Liu
2018-12-12 15:53 ` [PATCH v1 2/2] " Bin Liu
2018-12-12 15:53 ` Bin Liu
2018-12-12 9:24 [v1,2/2] " Peter Chen
2018-12-12 9:24 ` [PATCH v1 2/2] " Peter Chen
2018-12-12 8:34 [v1,2/2] " Felipe Balbi
2018-12-12 8:34 ` [PATCH v1 2/2] " Felipe Balbi
2018-12-12 8:34 ` Felipe Balbi
2018-12-12 7:38 [v1,2/2] " Peter Chen
2018-12-12 7:38 ` [PATCH v1 2/2] " Peter Chen
2018-12-12 6:55 [v1,2/2] " Felipe Balbi
2018-12-12 6:55 ` [PATCH v1 2/2] " Felipe Balbi
2018-12-12 6:52 [v1,2/2] " Felipe Balbi
2018-12-12 6:52 ` [PATCH v1 2/2] " Felipe Balbi
2018-12-12 6:52 ` Felipe Balbi
2018-12-12 2:04 [v1,2/2] " Peter Chen
2018-12-12 2:04 ` [PATCH v1 2/2] " Peter Chen
2018-12-11 19:04 [v1,2/2] " Pawel Laszczak
2018-12-11 19:04 ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-11 19:04 ` Pawel Laszczak
2018-12-11 12:15 [v1,2/2] " Felipe Balbi
2018-12-11 12:15 ` [PATCH v1 2/2] " Felipe Balbi
2018-12-11 12:15 ` Felipe Balbi
2018-12-11 12:14 [v1,2/2] " Felipe Balbi
2018-12-11 12:14 ` [PATCH v1 2/2] " Felipe Balbi
2018-12-11 12:14 ` Felipe Balbi
2018-12-11 11:46 [v1,2/2] " Felipe Balbi
2018-12-11 11:46 ` [PATCH v1 2/2] " Felipe Balbi
2018-12-11 10:16 [v1,1/2] dt-bindings: add binding for USBSS-DRD controller Roger Quadros
2018-12-11 10:16 ` [PATCH v1 1/2] " Roger Quadros
2018-12-11 10:16 ` Roger Quadros
2018-12-11 10:01 [v1,2/2] usb:cdns3 Add Cadence USB3 DRD Driver Pawel Laszczak
2018-12-11 10:01 ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-11 9:39 [v1,2/2] " Roger Quadros
2018-12-11 9:39 ` [PATCH v1 2/2] " Roger Quadros
2018-12-11 9:39 ` Roger Quadros
2018-12-10 12:39 [v1,2/2] " Pawel Laszczak
2018-12-10 12:39 ` [PATCH v1 2/2] " Pawel Laszczak
2018-12-10 12:39 ` Pawel Laszczak
2018-12-10 12:39 [v1,1/2] dt-bindings: add binding for USBSS-DRD controller Pawel Laszczak
2018-12-10 12:39 ` [PATCH v1 1/2] " Pawel Laszczak
2018-12-10 12:39 ` Pawel Laszczak
2018-12-10 12:39 [PATCH v1 0/2] Introduced new Cadence USBSS DRD Driver Pawel Laszczak
2018-12-10 12:39 ` Pawel Laszczak
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=87sgywgzfb.fsf@linux.intel.com \
--to=balbi@kernel.org \
--cc=adouglas@cadence.com \
--cc=devicetree@vger.kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jbergsagel@ti.com \
--cc=kishon@ti.com \
--cc=kurahul@cadence.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=nm@ti.com \
--cc=nsekhar@ti.com \
--cc=pawell@cadence.com \
--cc=peter.chen@nxp.com \
--cc=pjez@cadence.com \
--cc=rogerq@ti.com \
--cc=sureshp@cadence.com \
/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.