From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753923AbbIOOdR (ORCPT ); Tue, 15 Sep 2015 10:33:17 -0400 Received: from arroyo.ext.ti.com ([192.94.94.40]:39135 "EHLO arroyo.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752054AbbIOOdP (ORCPT ); Tue, 15 Sep 2015 10:33:15 -0400 Date: Tue, 15 Sep 2015 09:33:07 -0500 From: Felipe Balbi To: Peter Senna Tschudin CC: Felipe Balbi , Alan Stern , Sergei Shtylyov , Masanari Iida , , , "linux-kernel@vger.kernel.org" , Greg Kroah-Hartman Subject: Re: similar files: fusbh200-hcd.c and fotg210-hcd.c Message-ID: <20150915143307.GC19948@saruman.tx.rr.com> Reply-To: References: <20150908155257.GE25074@saruman.tx.rr.com> <20150914150155.GA25990@saruman.tx.rr.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="g7w8+K/95kPelPD2" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --g7w8+K/95kPelPD2 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable 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 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 patc= h. > >> > >> 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? >=20 > 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: >=20 > fusbh200.h: > #define BMCSR_VBUS_OFF (1<<4) > #define BMCSR_INT_POLARITY (1<<3) >=20 > 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. >=20 > 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. --=20 balbi --g7w8+K/95kPelPD2 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBAgAGBQJV+CwjAAoJEIaOsuA1yqREN10QALYCJXweHDHt2yEJhTtKDyPB zT62RyzP/ekog3pGpupzHTawz+bX4gk+oXJC+Zq0wpc2EAZsRDcmI3a6LDH+ZtOR fT0ZCsVzTmKQttMdiCQJ0SVr/oCobQ3G9MvND9DDglVtukae0H6mLAwwnmkCabok EiTuvNyKoeaFDQ2lHl5+M68DZWnybVliGGjxdYBMxa1jU+zP45cgL/h3tnRiYLSL Li7lCTtTJa8M3qvMcEeBb9bMfvgCbCJR3BbTcXXkVe9h+lOFE/P8pgT5L8rJA/Jb 20FprFKAWhk68cl+grlVVCCr4LwzltrUbv5u/j6ZTlzg36hEYR+BstkCYDZXpRV7 AYEkCS0VAkzT9raAqsn5EqiJG0q4a1+KuUkhAFurRPX4ZQPi8ygcsyCh8o+3QNnx lU683OwbIGmgrtaVokbvko4dxVlYQFy2Y8xTBcQyL3i1yZx92pR5GoZv7vqfQeGY G9a19+UpMQP5chYlAadbnqi6xC2fs0qUHTQDNXoLJoBXXCoAee3OxEeXmPTFVXnb L4Hgelk+yFqYIf3OV4eg1cpQoc9eJcNejEKnoZfgQdNunDEn7vHVYzIpXh+XYiKI w7TvONQ+1pxrINvo1fcXfKBacyVS8q/XzmtZfgnJn6oOU3SMTN4al36uRWMbxyTJ djdh74TXUnIXTMrHXju9 =MRvj -----END PGP SIGNATURE----- --g7w8+K/95kPelPD2--