[PATCH 15/23] Alternative mmc structure to support pxa168, pxa910, mmp2 family SD
haojian.zhuang at gmail.com
Fri Dec 31 00:46:00 EST 2010
On Thu, Dec 23, 2010 at 6:58 AM, Philip Rakity <prakity at marvell.com> wrote:
> On Dec 22, 2010, at 6:10 AM, Arnd Bergmann wrote:
>> On Wednesday 22 December 2010 08:09:58 Philip Rakity wrote:
>>> The PXA168, PXA910, and MMP2 are not the same SOC. The family
>>> of embedded processors have slightly different internal blocks
>>> for SD, I2C, etc. Sometimes it is important to know which SOC
>>> is being used due to differences in the silicon. Sometimes it
>>> is important to know evaluation boards should be selected based
>>> on the SOC on the board.
>> This looks like you're moving in the wrong direction.
>> If the chips are just slightly different, you'd certainly
>> want to make sure that you can detect the difference at runtime,
>> and be able to use the same kernel on all of the variants.
> MMP2 used PJ4 core --- PXA168/PXA910 use PJ1 so rather different architecture.
> PXA168/PXA910 have slightly different internal peripherals with different quirks.
> Certainly possible to tell this apart at runtime but not all peripherals are the same
> and startup files ARE different.
MMP2 and PJ4 are different SoC silicons. But they're using similar SD
IP, so we can share same driver to them. Different quirks can be
handled by different flags in run time.
There's no reason to copy driver for each silicon.
>> Instead, you promote each of the SOCs to a top-level family
>> in this patch, which makes it impossible to build a kernel
>> for more than one of them at a time.
> That was the intent to handle the case of development board selection.
> it is meaningless to select MMP2 development board with say PXA168 SoC.
> Open to other way to handle this problem. Suggestions welcome.
Again, you did wrong. You couldn't make patch for top-level family. It
will introduce a lot of error to maintainers.
Your patches will make them mess.
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
More information about the linux-arm-kernel