lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 26 Mar 2022 22:08:32 +0100 From: Mauro Carvalho Chehab <mchehab@...nel.org> To: Larry Finger <Larry.Finger@...inger.net> Cc: Joe Perches <joe@...ches.com>, Benjamin Stürz <benni@...erz.xyz>, andrew@...n.ch, sebastian.hesselbarth@...il.com, gregory.clement@...tlin.com, linux@...linux.org.uk, linux@...tec.co.uk, krzk@...nel.org, alim.akhtar@...sung.com, tglx@...utronix.de, mingo@...hat.com, bp@...en8.de, dave.hansen@...ux.intel.com, hpa@...or.com, robert.moore@...el.com, rafael.j.wysocki@...el.com, lenb@...nel.org, 3chas3@...il.com, laforge@...monks.org, arnd@...db.de, gregkh@...uxfoundation.org, tony.luck@...el.com, james.morse@....com, rric@...nel.org, linus.walleij@...aro.org, brgl@...ev.pl, mike.marciniszyn@...nelisnetworks.com, dennis.dalessandro@...nelisnetworks.com, jgg@...pe.ca, pali@...nel.org, dmitry.torokhov@...il.com, isdn@...ux-pingi.de, benh@...nel.crashing.org, fbarrat@...ux.ibm.com, ajd@...ux.ibm.com, davem@...emloft.net, kuba@...nel.org, pabeni@...hat.com, nico@...xnic.net, loic.poulain@...aro.org, kvalo@...nel.org, pkshih@...ltek.com, bhelgaas@...gle.com, linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org, linux-samsung-soc@...r.kernel.org, linux-ia64@...r.kernel.org, linux-acpi@...r.kernel.org, devel@...ica.org, linux-atm-general@...ts.sourceforge.net, netdev@...r.kernel.org, linux-edac@...r.kernel.org, linux-gpio@...r.kernel.org, linux-rdma@...r.kernel.org, linux-input@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org, linux-media@...r.kernel.org, wcn36xx@...ts.infradead.org, linux-wireless@...r.kernel.org, linux-pci@...r.kernel.org Subject: Re: [PATCH 16/22] dvb-usb: Replace comments with C99 initializers Em Sat, 26 Mar 2022 15:11:46 -0500 Larry Finger <Larry.Finger@...inger.net> escreveu: > On 3/26/22 14:51, Joe Perches wrote: > > On Sat, 2022-03-26 at 19:27 +0100, Mauro Carvalho Chehab wrote: > >> Em Sat, 26 Mar 2022 19:24:54 +0100 > >> Mauro Carvalho Chehab <mchehab@...nel.org> escreveu: > >> > >>> Em Sat, 26 Mar 2022 17:59:03 +0100 > >>> Benjamin Stürz <benni@...erz.xyz> escreveu: > >>> > >>>> This replaces comments with C99's designated > >>>> initializers because the kernel supports them now. > >>>> > >>>> Signed-off-by: Benjamin Stürz <benni@...erz.xyz> > >>>> --- > >>>> drivers/media/usb/dvb-usb/dibusb-mb.c | 62 +++++++++++++-------------- > >>>> drivers/media/usb/dvb-usb/dibusb-mc.c | 34 +++++++-------- > >>>> 2 files changed, 48 insertions(+), 48 deletions(-) > >>>> > >>>> diff --git a/drivers/media/usb/dvb-usb/dibusb-mb.c b/drivers/media/usb/dvb-usb/dibusb-mb.c > >>>> index e9dc27f73970..f188e07f518b 100644 > >>>> --- a/drivers/media/usb/dvb-usb/dibusb-mb.c > >>>> +++ b/drivers/media/usb/dvb-usb/dibusb-mb.c > >>>> @@ -122,40 +122,40 @@ static int dibusb_probe(struct usb_interface *intf, > >>>> > >>>> /* do not change the order of the ID table */ > >>>> static struct usb_device_id dibusb_dib3000mb_table [] = { > >>>> -/* 00 */ { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_AVERMEDIA_DVBT_USB_COLD) }, > >>>> -/* 01 */ { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_AVERMEDIA_DVBT_USB_WARM) }, > >>>> -/* 02 */ { USB_DEVICE(USB_VID_COMPRO, USB_PID_COMPRO_DVBU2000_COLD) }, > >>>> -/* 03 */ { USB_DEVICE(USB_VID_COMPRO, USB_PID_COMPRO_DVBU2000_WARM) }, > >>>> -/* 04 */ { USB_DEVICE(USB_VID_COMPRO_UNK, USB_PID_COMPRO_DVBU2000_UNK_COLD) }, > >>>> -/* 05 */ { USB_DEVICE(USB_VID_DIBCOM, USB_PID_DIBCOM_MOD3000_COLD) }, > >>>> -/* 06 */ { USB_DEVICE(USB_VID_DIBCOM, USB_PID_DIBCOM_MOD3000_WARM) }, > >>>> -/* 07 */ { USB_DEVICE(USB_VID_EMPIA, USB_PID_KWORLD_VSTREAM_COLD) }, > >>>> -/* 08 */ { USB_DEVICE(USB_VID_EMPIA, USB_PID_KWORLD_VSTREAM_WARM) }, > >>>> -/* 09 */ { USB_DEVICE(USB_VID_GRANDTEC, USB_PID_GRANDTEC_DVBT_USB_COLD) }, > >>>> -/* 10 */ { USB_DEVICE(USB_VID_GRANDTEC, USB_PID_GRANDTEC_DVBT_USB_WARM) }, > >>>> -/* 11 */ { USB_DEVICE(USB_VID_GRANDTEC, USB_PID_DIBCOM_MOD3000_COLD) }, > >>>> -/* 12 */ { USB_DEVICE(USB_VID_GRANDTEC, USB_PID_DIBCOM_MOD3000_WARM) }, > >>>> -/* 13 */ { USB_DEVICE(USB_VID_HYPER_PALTEK, USB_PID_UNK_HYPER_PALTEK_COLD) }, > >>>> -/* 14 */ { USB_DEVICE(USB_VID_HYPER_PALTEK, USB_PID_UNK_HYPER_PALTEK_WARM) }, > >>>> -/* 15 */ { USB_DEVICE(USB_VID_VISIONPLUS, USB_PID_TWINHAN_VP7041_COLD) }, > >>>> -/* 16 */ { USB_DEVICE(USB_VID_VISIONPLUS, USB_PID_TWINHAN_VP7041_WARM) }, > >>>> -/* 17 */ { USB_DEVICE(USB_VID_TWINHAN, USB_PID_TWINHAN_VP7041_COLD) }, > >>>> -/* 18 */ { USB_DEVICE(USB_VID_TWINHAN, USB_PID_TWINHAN_VP7041_WARM) }, > >>>> -/* 19 */ { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ULTIMA_TVBOX_COLD) }, > >>>> -/* 20 */ { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ULTIMA_TVBOX_WARM) }, > >>>> -/* 21 */ { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ULTIMA_TVBOX_AN2235_COLD) }, > >>>> -/* 22 */ { USB_DEVICE(USB_VID_ULTIMA_ELECTRONIC, USB_PID_ULTIMA_TVBOX_AN2235_WARM) }, > >>>> -/* 23 */ { USB_DEVICE(USB_VID_ADSTECH, USB_PID_ADSTECH_USB2_COLD) }, > >>>> +[0] = { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_AVERMEDIA_DVBT_USB_COLD) }, > >>>> +[1] = { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_AVERMEDIA_DVBT_USB_WARM) }, > >>> > >>> While here, please properly indent this table, and respect the 80-columns limit, > >>> e. g.: > >>> > >>> static struct usb_device_id dibusb_dib3000mb_table [] = { > >>> [0] = { USB_DEVICE(USB_VID_WIDEVIEW > >>> USB_PID_AVERMEDIA_DVBT_USB_COLD) > >>> }, > >>> [1] = { USB_DEVICE(USB_VID_WIDEVIEW, > >>> USB_PID_AVERMEDIA_DVBT_USB_WARM) > >>> }, > >>> ... > >> > >> Err.... something went wrong with my space bar and I ended hitting send to > >> soon... I meant: > >> > >> static struct usb_device_id dibusb_dib3000mb_table [] = { > >> [0] = { USB_DEVICE(USB_VID_WIDEVIEW > >> USB_PID_AVERMEDIA_DVBT_USB_COLD) > >> }, > >> [1] = { USB_DEVICE(USB_VID_WIDEVIEW, > >> USB_PID_AVERMEDIA_DVBT_USB_WARM) > >> }, > >> ... > >> }; > > > > maybe static const too > > > > and > > > > maybe > > > > #define DIB_DEVICE(vid, pid) \ > > { USB_DEVICE(USB_VID_ ## vid, USB_PID_ ## pid) } > > > > so maybe > > > > static const struct usb_device_id dibusb_dib3000mb_table[] = { > > [0] = DIB_DEVICE(WIDEVIEW, AVERMEDIA_DVBT_USB_COLD), > > [1] = DIB_DEVICE(WIDEVIEW, AVERMEDIA_DVBT_USB_WARM), > > ... > > }; > > > > though I _really_ doubt the value of the specific indexing. > > > > I think this isn't really worth changing at all. > > I agree. For the drivers that I maintain, I try to keep the vendor and device > ids in numerical order. As this table does not require a special order, adding a > new one in the middle would require redoing all of then after that point. That > would be pointless work! Unfortunately, that's not the case for drivers that use the legacy dvb-usb core, as it has other tables that reference the device IDs from this table by number. The best here would be to do something like: enum { AVERMEDIA_DVBT_USB_COLD, AVERMEDIA_DVBT_USB_WARM, COMPRO_DVBU2000_COLD, COMPRO_DVBU2000_WARM, COMPRO_DVBU2000_UNK_COLD, DIBCOM_MOD3000_COLD, DIBCOM_MOD3000_WARM, KWORLD_VSTREAM_COLD, KWORLD_VSTREAM_WARM, GRANDTEC_DVBT_USB_COLD, GRANDTEC_DVBT_USB_WARM, DIBCOM_MOD3000_COLD, DIBCOM_MOD3000_WARM, UNK_HYPER_PALTEK_COLD, UNK_HYPER_PALTEK_WARM, TWINHAN_VP7041_COLD, TWINHAN_VP7041_WARM, TWINHAN_VP7041_COLD, TWINHAN_VP7041_WARM, ULTIMA_TVBOX_COLD, ULTIMA_TVBOX_WARM, ULTIMA_TVBOX_AN2235_COLD, ULTIMA_TVBOX_AN2235_WARM, ADSTECH_USB2_COLD, ADSTECH_USB2_WARM, KYE_DVB_T_COLD, KYE_DVB_T_WARM, KWORLD_VSTREAM_COLD, ULTIMA_TVBOX_USB2_COLD, ULTIMA_TVBOX_USB2_WARM, ULTIMA_TVBOX_ANCHOR_COLD, }; Then define the table as: static const struct usb_device_id dibusb_dib3000mb_table[] { [AVERMEDIA_DVBT_USB_COLD] = { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_AVERMEDIA_DVBT_USB_COLD) }, [AVERMEDIA_DVBT_USB_WARM] = { USB_DEVICE(USB_VID_WIDEVIEW, USB_PID_AVERMEDIA_DVBT_USB_WARM) }, ... } (eventually, using some macro to help defining them) Finally, change the other static tables to also use the same name, e. g.: static const struct dvb_usb_device_properties dibusb1_1_properties = { ... .num_device_descs = 9, .devices = { { "AVerMedia AverTV DVBT USB1.1", { &dibusb_dib3000mb_table[AVERMEDIA_DVBT_USB_COLD], NULL }, { &dibusb_dib3000mb_table[AVERMEDIA_DVBT_USB_WARM], NULL }, }, ... }; The same applies to other drivers inside drivers/media/usb/dvb-usb/. Alternatively, the drivers there should be ported to the newer DVB USB core (dvb-usb-v2). Thanks, Mauro
Powered by blists - more mailing lists