Thread (28 messages) 28 messages, 7 authors, 2012-06-12

RE: [PATCH RFC] c_can_pci: generic module for c_can on PCI

From: Bhupesh SHARMA <hidden>
Date: 2012-06-05 13:23:12
Also in: linux-can, lkml

-----Original Message-----
From: rubini@gnudd.com [mailto:rubini@gnudd.com]
Sent: Tuesday, June 05, 2012 6:44 PM
To: Bhupesh SHARMA
Cc: federico.vaga@gmail.com; alan@lxorguk.ukuu.org.uk;
wg@grandegger.com; mkl@pengutronix.de; Giancarlo ASNAGHI;
alan@linux.intel.com; linux-can@vger.kernel.org;
netdev@vger.kernel.org; linux-kernel@vger.kernel.org
Subject: Re: [PATCH RFC] c_can_pci: generic module for c_can on PCI
quoted
quoted
My implementation is align to 32, but I'm trying to make a generic
PCI
quoted
quoted
wrapper (some other could be aligned to 16)
quoted
So it means your implementation is also flaky and you are probably
wasting HW memory space while integrating the Bosch C_CAN module in
your SoC :)
Then I may say _your_ implementation is flaky because it wastes one
bit in the address decoder and a lot of logic gates in the data
bus. It's normal to align registers at 32 bits, as it's simpler and
faster.  Most SoCs have only 32-bit aligned registers, for a reason.
You missed my original point. I mentioned in my first mail itself, that I studied a
few SoCs integrating the C_CAN module from Bosch before writing the driver.
Not all have aligned their register space to a 32-bit boundary. 
My platform driver still supports them. This _does_ not imply that our
SoC has/may have the same problem :)

Each SoC designer can have his/her own different view on this sort of implementation.
The platform driver was written to support both the implementations (SW is supposed
to support all sort of HW design constraints :) ).
quoted
I am not a big fan of adding platform specific flakes in any core
file, that why we keep the platform file separate from the core
ones.
A number of other drivers have a shift parameter, because it's very
common for the hardware integrator to feel free to choose the easiest
wiring for the device.  The choice to keep the platform driver
separate from the core driver only adds complication in my opinion:
you need to export 4 symbols and yhen every user must duplicate code
(like federico is replicating theplatform driver in the pci driver).

I'd really prefer to have the core driver be a platform driver, and
the others just add platform data to describe how it is wired. That's
actually the reason why the platform bus exists.
quoted
But I will left Marc and Wolfgang to further comment on the same.
I agree: let them decide.
Sure..

Regards,
Bhupesh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help