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  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Tue, 15 Sep 2015 09:33:07 -0500
From:	Felipe Balbi <balbi@...com>
To:	Peter Senna Tschudin <peter.senna@...il.com>
CC:	Felipe Balbi <balbi@...com>,
	Alan Stern <stern@...land.harvard.edu>,
	Sergei Shtylyov <sergei.shtylyov@...entembedded.com>,
	Masanari Iida <standby24x7@...il.com>, <pmladek@...e.cz>,
	<linux-usb@...r.kernel.org>,
	"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
	Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Subject: Re: similar files: fusbh200-hcd.c and fotg210-hcd.c

On Mon, Sep 14, 2015 at 07:50:02PM +0200, Peter Senna Tschudin wrote:
> On Mon, Sep 14, 2015 at 5:01 PM, Felipe Balbi <balbi@...com> wrote:
> > On Sat, Sep 12, 2015 at 03:14:50PM +0200, Peter Senna Tschudin wrote:
> >> >> Should these files be consolidated? And if so how?
> >> > if you can find an easy way, that would be a very, very welcome patch.
> >>
> >> Is the ideal solution to consolidate both fusbh200-hcd.c and
> >> fotg210-hcd.c in a single module? If this is the case, how to detect
> >> at run time which version of the hw is present? Both are registered as
> >
> > does it matter ? If they work the same way, why does it matter which
> > one's running?
> 
> I may be missing something simple, but based on a 2 page product
> brief, fotg210 has more resources like memory. So even if the .c files
> are _very_ similar, there are some configuration parameters that
> differ, for example:
> 
> fusbh200.h:
> #define BMCSR_VBUS_OFF (1<<4)
> #define BMCSR_INT_POLARITY (1<<3)
> 
> fotg210.h:
> #define OTGCSR_A_BUS_DROP (1 << 5)
> #define OTGCSR_A_BUS_REQ (1 << 4)

Can you detect that in runtime ? If you can, detect it. If you can't use
different platform_device_id.

> >> notebook (hp elitebook 840), and on a VM, even if neither has the hw
> >> ($ sudo modprobe fusbh200-hcd). The module loads with the warning
> >> "fusbh200_hcd should always be loaded before uhci_hcd and ohci_hcd,
> >> not after". On another workstation running ubuntu, I could load both
> >> modules at the same time, producing the same warning for each module.
> >> Should the module load if the device is not present?
> >>
> >> Other solution for consolidation would be to create a common_code.c,
> >> keeping both fusbh200-hcd.c and fotg210-hcd.c only with the code that
> >> differ. Is this better than what is there now?
> >>
> >> Other ideas?
> >
> > just combine them :-p Use platform_device_id to differentiate.
> 
> I'm afraid the combined version will use the correct parameters for
> only one of the two. But I may be missing something simple. I did a
> diff between the two files after removing white space differences, and
> after replacing fusbh200 by fotg210 on the fusbh200 driver. The files
> are very similar. See: http://pastebin.com/ZRY3xePv

yeah, you can totally combine them. Grep the tree for examples of how to
use platform_device_id as I mentioned.

-- 
balbi

Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ