* usb: uhci-platform driver fails after patch changes during merge
From: Tony Prisk @ 2012-10-04 17:42 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20121004142617.GA26625@kroah.com>
On Thu, 2012-10-04 at 07:26 -0700, Greg KH wrote:
> On Thu, Oct 04, 2012 at 07:55:16PM +1300, Tony Prisk wrote:
> > On Thu, 2012-10-04 at 19:38 +1300, Tony Prisk wrote:
> > > Mike,
> > >
> > > I see someone made changes to the uhci-platform.c driver I submitted
> > > during v3.7 which results in it not working on mach-vt8500.
> > >
> > > Could you clarify why the changes were made, and what the suggested
> > > resolution would be to solve the problem that it introduced?
> > >
> > > Lines indicated by ---> below were removed from the patch, which means
> > > that on arch-vt8500 there is no dma_mask set, and its fails to
> > > communicate with attached devices.
> > >
> > > Regards
> > >
> > > Tony P
> > >
> > >
> > > static int __devinit uhci_hcd_platform_probe(struct platform_device
> > > *pdev)
> > > ...
> > > if (usb_disabled())
> > > return -ENODEV;
> > > --->
> > > /* Right now device-tree probed devices don't get dma_mask set.
> > > * Since shared usb code relies on it, set it here for now.
> > > * Once we have dma capability bindings this can go away.
> > > */
> > > if (!pdev->dev.dma_mask)
> > > pdev->dev.dma_mask = &platform_uhci_dma_mask;
> > > --->
> > > hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev,
> > > pdev->name);
> > > ...
> > >
> > >
> > > _______________________________________________
> > > linux-arm-kernel mailing list
> > > linux-arm-kernel at lists.infradead.org
> > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> >
> > Greg,
> >
> > This message was intended for you rather than Mike. Could you clarify
> > what happened and the expected resolution?
>
> I don't know, this should be directed at the person who made the change
> that is causing the problem, and the linux-usb at vger.kernel.org mailing
> list.
>
> Who changed the patch? What patch exactly are you referring to? Who
> signed off on it? Where was it discussed?
>
> thanks,
>
> greg k-h
>
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Greg,
Thats the problem I have - I can't track where the changes came from.
The commit details show:
author
Tony Prisk
<linux@prisktech.co.nz>
Sat, 21 Jul 2012
10:58:53 +0000 (22:58
+1200)
committer
Greg Kroah-Hartman
<gregkh@linuxfoundation.org>
Thu, 16 Aug 2012
21:00:37 +0000 (14:00
-0700)
commit
100d45970327f78584ff4846deeca14bba511e28
But this file -
drivers/usb/host/uhci-platform.c
isn't the version I supplied in the patchset. There are no other commits
against it so I assume it was changed before it was committed.
Confused?!?
Regards
Tony P
^ permalink raw reply
* [RESEND][PATCH] ASoC: ams-delta: Convert to use snd_soc_register_card()
From: Mark Brown @ 2012-10-04 17:50 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1582731.dIkBtAuyKn@vclass>
On Wed, Oct 03, 2012 at 12:46:57PM +0200, Janusz Krzysztofik wrote:
> The old method of registering with the ASoC core by creating a
> "soc-audio" platform device no longer works for Amstrad Delta sound card
> after recent changes to drvdata handling (commit
> 0998d0631001288a5974afc0b2a5f568bcdecb4d, 'device-core: Ensure drvdata =
> NULL when no driver is bound'.
Applied, thanks.
^ permalink raw reply
* usb: uhci-platform driver fails after patch changes during merge
From: Greg KH @ 2012-10-04 17:52 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1349372523.8451.10.camel@gitbox>
On Fri, Oct 05, 2012 at 06:42:03AM +1300, Tony Prisk wrote:
> On Thu, 2012-10-04 at 07:26 -0700, Greg KH wrote:
> > On Thu, Oct 04, 2012 at 07:55:16PM +1300, Tony Prisk wrote:
> > > On Thu, 2012-10-04 at 19:38 +1300, Tony Prisk wrote:
> > > > Mike,
> > > >
> > > > I see someone made changes to the uhci-platform.c driver I submitted
> > > > during v3.7 which results in it not working on mach-vt8500.
> > > >
> > > > Could you clarify why the changes were made, and what the suggested
> > > > resolution would be to solve the problem that it introduced?
> > > >
> > > > Lines indicated by ---> below were removed from the patch, which means
> > > > that on arch-vt8500 there is no dma_mask set, and its fails to
> > > > communicate with attached devices.
> > > >
> > > > Regards
> > > >
> > > > Tony P
> > > >
> > > >
> > > > static int __devinit uhci_hcd_platform_probe(struct platform_device
> > > > *pdev)
> > > > ...
> > > > if (usb_disabled())
> > > > return -ENODEV;
> > > > --->
> > > > /* Right now device-tree probed devices don't get dma_mask set.
> > > > * Since shared usb code relies on it, set it here for now.
> > > > * Once we have dma capability bindings this can go away.
> > > > */
> > > > if (!pdev->dev.dma_mask)
> > > > pdev->dev.dma_mask = &platform_uhci_dma_mask;
> > > > --->
> > > > hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev,
> > > > pdev->name);
> > > > ...
> > > >
> > > >
> > > > _______________________________________________
> > > > linux-arm-kernel mailing list
> > > > linux-arm-kernel at lists.infradead.org
> > > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
> > >
> > > Greg,
> > >
> > > This message was intended for you rather than Mike. Could you clarify
> > > what happened and the expected resolution?
> >
> > I don't know, this should be directed at the person who made the change
> > that is causing the problem, and the linux-usb at vger.kernel.org mailing
> > list.
> >
> > Who changed the patch? What patch exactly are you referring to? Who
> > signed off on it? Where was it discussed?
> >
> > thanks,
> >
> > greg k-h
> >
> > _______________________________________________
> > linux-arm-kernel mailing list
> > linux-arm-kernel at lists.infradead.org
> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
> Greg,
>
> Thats the problem I have - I can't track where the changes came from.
>
> The commit details show:
>
> author
> Tony Prisk
> <linux@prisktech.co.nz>
>
>
> Sat, 21 Jul 2012
> 10:58:53 +0000 (22:58
> +1200)
> committer
> Greg Kroah-Hartman
> <gregkh@linuxfoundation.org>
>
>
> Thu, 16 Aug 2012
> 21:00:37 +0000 (14:00
> -0700)
> commit
> 100d45970327f78584ff4846deeca14bba511e28
>
> But this file -
> drivers/usb/host/uhci-platform.c
>
> isn't the version I supplied in the patchset. There are no other commits
> against it so I assume it was changed before it was committed.
No, this commit matches up exactly with the email I got from you with
Message-Id: <1342868333-10647-2-git-send-email-linux@prisktech.co.nz>
which looks to be the patch I applied here. The diffstat matches up
exactly with that email.
Do you see that as well?
You should have gotten an automated email response from me when the
patch was applied, with the patch in it. My email system doesn't keep
those around, but you should have it somewhere, so you could compare it
to the commit in Linus's tree now, right? Does it match up?
If I accidentally applied the incorrect patch (note, this looks like
it was version 4 of the patch, was there a later version that I
missed?), please feel free to send an add-on patch that fixes up any
errors.
thanks,
greg k-h
^ permalink raw reply
* [PATCH] [ARM] Use AT() in the linker script to create correct program headers
From: Jason Gunthorpe @ 2012-10-04 17:59 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20121004113637.GA2117@linaro.org>
On Thu, Oct 04, 2012 at 12:36:37PM +0100, Dave Martin wrote:
> OK, so it is supported, but not for ARM, yet. I'm not sure that
> such a patch would be rejected, since building in a DTB is not
> really that different from building in a command-line.
Maybe I will be able to look at this in a few months..
> The other solution to this problem is to distribute the dtb
> alongside the kernel as a supplementary image (similar to
> initramfs), with the bootloader doing the bare minimum of
> modifications to it.
Yes, but we still need rely on complex code like I2C/MTD to create a
correct DTB, which again puts us back to patching the kernel for that
functionality.
> Naturally, if zero modifications are needed then the bootloader does not
> need libfdt (or equivalent code) at all.
If only :)
> One other option open to you would be to provide an ELF image loadable
> by your bootloader via a simple wrapper. This would probably be a more
> robust approach than carrying patches against head.S, since it removes
> any intimate dependency on the kernel code itself.
This is what I ment by having a 2nd stage loader, but this example is
not complete because at this point you also have to patch into the DTB
the initrd address (passed in r0/r1), and the various MAC addresses
(getting them is the hard part..).
The nice thing about the head.S patch is that it lives right after
_entry, so there actually are no dependencies on the kernel code, it
executes in the same environment as the example you presented.
Anyhow, exploring a CONFIG_ARM_BUILT_IN_DTB.. I think I'd add
something like this to head.S:
#ifdef CONFIG_ARM_BUILT_IN_DTB
adr r3,bootloader_r0
stmia r3,{r0,r1,r2}
mov r2, #0
mov r1, #0
mov r0, #0
#else
bl __vet_atags
#endif
And something like this to early_dt_fixup:
#ifdef CONFIG_ARM_BUILT_IN_DTB
for_each_dt_provider(dtp) {
devtree = dtp->get_dtb();
if (devtree)
break;
}
#else
devtree = phys_to_virt(dt_phys);
#endif
Where the 'dev tree provider' would use the stored bootloader
registers and any other information to return the proper DTB.
Jason
^ permalink raw reply
* [PATCH] pwm: Get rid of HAVE_PWM
From: Thierry Reding @ 2012-10-04 18:29 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <506DA487.9070400@metafoo.de>
On Thu, Oct 04, 2012 at 05:00:23PM +0200, Lars-Peter Clausen wrote:
> On 10/04/2012 08:06 AM, Thierry Reding wrote:
> > [...]
> > diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> > index 331d574..b38f23d 100644
> > --- a/arch/mips/Kconfig
> > +++ b/arch/mips/Kconfig
> > @@ -219,7 +219,8 @@ config MACH_JZ4740
> > select GENERIC_GPIO
> > select ARCH_REQUIRE_GPIOLIB
> > select SYS_HAS_EARLY_PRINTK
> > - select HAVE_PWM
> > + select PWM
> > + select PWM_JZ4740
> > select HAVE_CLK
> > select GENERIC_IRQ_CHIP
>
> I'm not sure if this is such a good idea, not all jz4740 based board
> necessarily require PWM.
This really only restores previous behaviour. But I agree that this is
potentially not what we want. Maybe we should just not select this for
any boards but rather leave it up to some default configuration. If so
the patch can be made simpler by just removing the HAVE_PWM entries.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121004/008832bf/attachment.sig>
^ permalink raw reply
* [PATCH] pwm: Get rid of HAVE_PWM
From: Lars-Peter Clausen @ 2012-10-04 18:48 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20121004182931.GA7228@avionic-0098.mockup.avionic-design.de>
On 10/04/2012 08:29 PM, Thierry Reding wrote:
> On Thu, Oct 04, 2012 at 05:00:23PM +0200, Lars-Peter Clausen wrote:
>> On 10/04/2012 08:06 AM, Thierry Reding wrote:
>>> [...]
>>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
>>> index 331d574..b38f23d 100644
>>> --- a/arch/mips/Kconfig
>>> +++ b/arch/mips/Kconfig
>>> @@ -219,7 +219,8 @@ config MACH_JZ4740
>>> select GENERIC_GPIO
>>> select ARCH_REQUIRE_GPIOLIB
>>> select SYS_HAS_EARLY_PRINTK
>>> - select HAVE_PWM
>>> + select PWM
>>> + select PWM_JZ4740
>>> select HAVE_CLK
>>> select GENERIC_IRQ_CHIP
>>
>> I'm not sure if this is such a good idea, not all jz4740 based board
>> necessarily require PWM.
>
> This really only restores previous behaviour. But I agree that this is
> potentially not what we want. Maybe we should just not select this for
> any boards but rather leave it up to some default configuration. If so
> the patch can be made simpler by just removing the HAVE_PWM entries.
At least for JZ4740 I think that is the better solution.
Thanks,
- Lars
^ permalink raw reply
* arm-soc maintainer entry
From: Stephen Boyd @ 2012-10-04 18:49 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <CAOesGMjotnx_6HiwngRO9OaZYGGAexiwZ_shkOK7qROZcjDmqA@mail.gmail.com>
On 10/04/12 09:55, Olof Johansson wrote:
> Hi,
>
> On Thu, Oct 4, 2012 at 1:41 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
>> Is the arm at kernel.org alias going to be added into the MAINTAINERS file?
>> Should anybody be sending mails to this address?
>>
>> It seems I asked this over a year ago and the response was positive but
>> nothing ever happened[1]. Maybe something like below? I only ask because
>> get_maintainer.pl isn't picking up this email.
> I've been holding off re-proposing this, mostly because life is easier
> for us if we don't get arm at kernel.org cc:d on every single patch by
> people who run get_maintainers.pl -- it's the equivalent of getting
> linux-arm-kernel cc:d to your inbox. It's better signal-to-noise ratio
> if it's mostly platform maintainers that email us on that address with
> pull requests or patches they want applied.
>
> But yeah, it also means that the maintainer structure is undocumented.
> I'm open for suggestions.
>
Thanks for clarifying. Maybe we can put in the git tree and no email
address? That at least documents some structure.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply
* usb: uhci-platform driver fails after patch changes during merge
From: linux at prisktech.co.nz @ 2012-10-04 19:01 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20121004175235.GA14949@kroah.com>
> On Fri, Oct 05, 2012 at 06:42:03AM +1300, Tony Prisk wrote:
>> On Thu, 2012-10-04 at 07:26 -0700, Greg KH wrote:
>> > On Thu, Oct 04, 2012 at 07:55:16PM +1300, Tony Prisk wrote:
>> > > On Thu, 2012-10-04 at 19:38 +1300, Tony Prisk wrote:
>> > > > Mike,
>> > > >
>> > > > I see someone made changes to the uhci-platform.c driver I submitted
during v3.7 which results in it not working on mach-vt8500.
>> > > >
>> > > > Could you clarify why the changes were made, and what the suggested
resolution would be to solve the problem that it introduced?
>> > > >
>> > > > Lines indicated by ---> below were removed from the patch, which means
that on arch-vt8500 there is no dma_mask set, and its fails to
communicate with attached devices.
>> > > >
>> > > > Regards
>> > > >
>> > > > Tony P
>> > > >
>> > > >
>> > > > static int __devinit uhci_hcd_platform_probe(struct platform_device *pdev)
>> > > > ...
>> > > > if (usb_disabled())
>> > > > return -ENODEV;
>> > > > --->
>> > > > /* Right now device-tree probed devices don't get dma_mask set.
>> > > > * Since shared usb code relies on it, set it here for now. * Once we
have dma capability bindings this can go away. */
>> > > > if (!pdev->dev.dma_mask)
>> > > > pdev->dev.dma_mask = &platform_uhci_dma_mask;
>> > > > --->
>> > > > hcd = usb_create_hcd(&uhci_platform_hc_driver, &pdev->dev,
>> > > > pdev->name);
>> > > > ...
>> > > >
>> > > >
>> > > > _______________________________________________
>> > > > linux-arm-kernel mailing list
>> > > > linux-arm-kernel at lists.infradead.org
>> > > > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>> > >
>> > > Greg,
>> > >
>> > > This message was intended for you rather than Mike. Could you clarify
what happened and the expected resolution?
>> >
>> > I don't know, this should be directed at the person who made the change
that is causing the problem, and the linux-usb at vger.kernel.org mailing
list.
>> >
>> > Who changed the patch? What patch exactly are you referring to? Who
signed off on it? Where was it discussed?
>> >
>> > thanks,
>> >
>> > greg k-h
>> >
>> > _______________________________________________
>> > linux-arm-kernel mailing list
>> > linux-arm-kernel at lists.infradead.org
>> > http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>> Greg,
>> Thats the problem I have - I can't track where the changes came from. The
commit details show:
>> author
>> Tony Prisk
>> <linux@prisktech.co.nz>
>> Sat, 21 Jul 2012
>> 10:58:53 +0000 (22:58
>> +1200)
>> committer
>> Greg Kroah-Hartman
>> <gregkh@linuxfoundation.org>
>> Thu, 16 Aug 2012
>> 21:00:37 +0000 (14:00
>> -0700)
>> commit
>> 100d45970327f78584ff4846deeca14bba511e28
>> But this file -
>> drivers/usb/host/uhci-platform.c
>> isn't the version I supplied in the patchset. There are no other commits
against it so I assume it was changed before it was committed.
>
> No, this commit matches up exactly with the email I got from you with
> Message-Id: <1342868333-10647-2-git-send-email-linux@prisktech.co.nz>
> which looks to be the patch I applied here. The diffstat matches up exactly
with that email.
>
> Do you see that as well?
>
> You should have gotten an automated email response from me when the patch was
applied, with the patch in it. My email system doesn't keep those around, but
you should have it somewhere, so you could compare it to the commit in Linus's
tree now, right? Does it match up?
>
> If I accidentally applied the incorrect patch (note, this looks like it was
version 4 of the patch, was there a later version that I
> missed?), please feel free to send an add-on patch that fixes up any errors.
>
> thanks,
>
> greg k-h
>
*facepalm*
I see what has happened now. When you said v4 I got even more confused as the
missing code was in every version from v1->v5 of the current patchset
(August/September). The patch is question is from July 21st and was standalone.
I assumed that patch had been lost as I never recieved any feedback outside of
Arnd and the internal vt8500 mailing list. A new patchset was done later which
included the UHCI driver with fixes. This also explains the merge-conflict
between arm-soc and usb trees just recently.
Apologies for the messup. I will send out a fix for 3.7-rc
Regards
Tony P
^ permalink raw reply
* [PATCH] ARM: Push selects for TWD/SCU into machine entries
From: Stephen Boyd @ 2012-10-04 19:01 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <506D52D2.9060105@ti.com>
On 10/04/12 02:11, Santosh Shilimkar wrote:
>> @@ -75,6 +77,8 @@ config SOC_OMAP5
>> select CPU_V7
>> select ARM_GIC
>> select HAVE_SMP
>> + select HAVE_ARM_SCU if SMP
>> + select HAVE_ARM_TWD if LOCAL_TIMERS
>> select ARM_CPU_SUSPEND if PM
>> select SOC_HAS_REALTIME_COUNTER
>> select ARM_ARCH_TIMER
> Drop this change.
>
> With that fixed, for OMAP changes
>
> Acked-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Thanks. Will drop both lines in this hunk.
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply
* [PATCH] pwm: Get rid of HAVE_PWM
From: Thierry Reding @ 2012-10-04 19:13 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <506DDA16.8070604@metafoo.de>
On Thu, Oct 04, 2012 at 08:48:54PM +0200, Lars-Peter Clausen wrote:
> On 10/04/2012 08:29 PM, Thierry Reding wrote:
> > On Thu, Oct 04, 2012 at 05:00:23PM +0200, Lars-Peter Clausen wrote:
> >> On 10/04/2012 08:06 AM, Thierry Reding wrote:
> >>> [...]
> >>> diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
> >>> index 331d574..b38f23d 100644
> >>> --- a/arch/mips/Kconfig
> >>> +++ b/arch/mips/Kconfig
> >>> @@ -219,7 +219,8 @@ config MACH_JZ4740
> >>> select GENERIC_GPIO
> >>> select ARCH_REQUIRE_GPIOLIB
> >>> select SYS_HAS_EARLY_PRINTK
> >>> - select HAVE_PWM
> >>> + select PWM
> >>> + select PWM_JZ4740
> >>> select HAVE_CLK
> >>> select GENERIC_IRQ_CHIP
> >>
> >> I'm not sure if this is such a good idea, not all jz4740 based board
> >> necessarily require PWM.
> >
> > This really only restores previous behaviour. But I agree that this is
> > potentially not what we want. Maybe we should just not select this for
> > any boards but rather leave it up to some default configuration. If so
> > the patch can be made simpler by just removing the HAVE_PWM entries.
>
> At least for JZ4740 I think that is the better solution.
Okay, I'll give other people the chance to comment on this. Especially
for PXA there are many boards that use the PWM for backlight and it
would be interesting to hear from them how they want this to be handled.
Thierry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20121004/38126ab8/attachment.sig>
^ permalink raw reply
* [PATCH 17/24 v2] ARM: cns3xxx: use OHCI platform driver
From: Alan Stern @ 2012-10-04 19:19 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1349363872-27004-18-git-send-email-florian@openwrt.org>
On Thu, 4 Oct 2012, Florian Fainelli wrote:
> Since both the EHCI and OHCI platform drivers use the same power_{on,off}
> callbacks, rename them to cns3xx_usb_power_{on,off} to show that they are
> shared.
This is an example of the sort of thing I complained about before.
People who read only the patch description and not the title will
wonder why this patch adds cns3xxx_usb_ohci_pdata and
cns3xxx_usb_ohci_device.
And people who read both will wonder why they talk about different
things.
Alan Stern
^ permalink raw reply
* [PATCH] ARM: Push selects for TWD/SCU into machine entries
From: Stephen Boyd @ 2012-10-04 19:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <506D899C.6010705@gmail.com>
On 10/04/12 06:05, Rob Herring wrote:
> On 10/04/2012 03:50 AM, Stephen Boyd wrote:
>> The TWD and SCU configs are selected by default as long as
>> SCORPIONMP is false and/or MCT is false. Implementing the logic
>> this way certainly saves lines in the Kconfig but it precludes
>> those machines which select SCORPIONMP or MCT from participating
>> in the single zImage effort because when those machines are
>> combined with other SMP capable machines the TWD and SCU are no
>> longer selected.
>>
>> Push the select out to the machine entries so that we can compile
>> these machines together and still select the appropriate configs.
> I think this is the wrong direction as I'd like to see the platform
> selects shrink. I believe the local timers are run-time enabled now, so
> can't we just drop the condition and always select TWD and SCU for
> multi-platform?
That sounds fine for multi-platform but it penalizes the "optimized"
images made for a particular device that doesn't want any extra code
than is necessary. Isn't this why we have the Kconfig language?
>
> Or perhaps we need a CortexA9 config symbol that selects V7, GIC, TWD,
> SCU, SMP, PL310, errata, etc. rather than duplicating those for every
> platform.
>
>
This sounds like a good consolidation of lines that can be done in
parallel to this patch. Care to send a patch on top?
--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
hosted by The Linux Foundation
^ permalink raw reply
* [RFC PATCH 16/16] Documentation: Update samsung-pinctrl device tree bindings documentation
From: Stephen Warren @ 2012-10-04 19:23 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1348842527-22460-17-git-send-email-t.figa@samsung.com>
On 09/28/2012 08:28 AM, Tomasz Figa wrote:
> Signed-off-by: Tomasz Figa <t.figa@samsung.com>
I think this binding looks reasonable now.
I'm not sure if this series works with "git bisect" though? For example,
perhaps you want to move patch 15 to the start so the new properties are
present before the code attempts to use them.
^ permalink raw reply
* arm-soc maintainer entry
From: Olof Johansson @ 2012-10-04 19:28 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <506DDA31.9010503@codeaurora.org>
On Thu, Oct 4, 2012 at 11:49 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
> On 10/04/12 09:55, Olof Johansson wrote:
>> Hi,
>>
>> On Thu, Oct 4, 2012 at 1:41 AM, Stephen Boyd <sboyd@codeaurora.org> wrote:
>>> Is the arm at kernel.org alias going to be added into the MAINTAINERS file?
>>> Should anybody be sending mails to this address?
>>>
>>> It seems I asked this over a year ago and the response was positive but
>>> nothing ever happened[1]. Maybe something like below? I only ask because
>>> get_maintainer.pl isn't picking up this email.
>> I've been holding off re-proposing this, mostly because life is easier
>> for us if we don't get arm at kernel.org cc:d on every single patch by
>> people who run get_maintainers.pl -- it's the equivalent of getting
>> linux-arm-kernel cc:d to your inbox. It's better signal-to-noise ratio
>> if it's mostly platform maintainers that email us on that address with
>> pull requests or patches they want applied.
>>
>> But yeah, it also means that the maintainer structure is undocumented.
>> I'm open for suggestions.
>>
>
> Thanks for clarifying. Maybe we can put in the git tree and no email
> address? That at least documents some structure.
Ah, yes, that makes a lot of sense.
-Olof
^ permalink raw reply
* [alsa-devel] [PATCH 0/3] ASoC: Davinci: McASP: add support new McASP IP Variant
From: Matt Porter @ 2012-10-04 19:50 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <506C46AD.1090807@gmail.com>
On Wed, Oct 03, 2012 at 04:07:41PM +0200, Daniel Mack wrote:
> On 03.10.2012 14:57, Hebbar, Gururaja wrote:
> > On Wed, Oct 03, 2012 at 16:46:39, Daniel Mack wrote:
> >> On 03.10.2012 09:16, Hebbar, Gururaja wrote:
> >>> On Wed, Oct 03, 2012 at 03:58:45, Daniel Mack wrote:
> >>>> On 31.08.2012 14:50, Hebbar, Gururaja wrote:
> >>>>> The OMAP2+ variant of McASP is different from Davinci variant w.r.to some
> >>>>> register offset and missing generic SRAM APIs support
> >>>>>
> >>>>> Changes
> >>>>> - Add new MCASP_VERSION_3 to identify new variant. New DT compatible
> >>>>> "ti,omap2-mcasp-audio" to identify version 3 controller.
> >>>>> - The register offsets are handled depending on the version.
> >>>>> - Provide a config option to indicate missing SRAM API support.
> >>>>
> >>>> Could you give some insight which hardware this was tested on? I'm
> >>>> trying to get this up and running on a AM33xx board, and the patches
> >>>> look all reasonable to me. My problem is that I can't make the DMA
> >>>> engine move forward, I fail to receive a single interrupt on this
> >>>> peripheral after the stream starts. I will continue searching for the
> >>>> reason of this tomorrow, but maybe you can give me some hint by
> >>>> explaining your setup?
> >>>>
> >>>> Note that I'm using your patches together with Matt's from this series:
> >>>>
> >>>> https://github.com/ohporter/linux/tree/edma-dmaengine-am33xx-rfc-v1
> >>>>
> >>>> ... but it doesn't work without those either.
> >>>
> >>>
> >>> When I started working on adding DT support to McASP driver, Matt Porter
> >>> EDMA port was not yet ready.
> >>>
> >>> So
> >>> 1. I took existing edma driver from AM335x Arago release [1] (driver + edma
> >>> device init).
> >>> 2. Added this to Vaibhav's Local (linux-next + AM335x patches) tree [2]
> >>>
> >>> 3. Added DT support to McASP driver.
> >>>
> >>> I tested this on AM335x EVM board.
> >>
> >> Hmm, so I think there's a tiny bit missing for the EDMA conversion on DT
> >> kernels.
> >>
> >>> If you need the code, I can share it as a patch (I will send the patch as a
> >>> private mail since the patch is huge).
> >>
> >> Please do :) Or just push your entire tree somewhere.
> >
> > I have pushed the code at below git repo
> > Repo :https://github.com/hvaibhav/am335x-linux
> > Branch : am335x-upstream-staging-audio
> >
> > This includes
> > 1. (linux-next + AM335x patches)
> > 2. McASP DT conversion
> > 3. EDMA hack
> > 4. AM335x audio specific DT blobs
> > 5. Am335x dma DT blobs [hack]
>
> Ha, that 5th point was what I was missing, in particular these DMA
> offset matching bits. Thanks a lot! I'll get back to you soon with some
> patches for the mcasp driver.
You should be able to replace #3 with https://lkml.org/lkml/2012/9/20/275
The intention is for McASP to use the private EDMA API on both DaVinci
and AM33xx until the dmaengine conversion of McASP is ready.
-Matt
^ permalink raw reply
* [GIT PULL] Disintegrate UAPI for arm
From: David Howells @ 2012-10-04 19:51 UTC (permalink / raw)
To: linux-arm-kernel
Can you merge the following branch into the arm tree please.
This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.
Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.
The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux (2012-10-03 23:29:23 -0700)
are available in the git repository at:
git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-arm
for you to fetch changes up to 4d192d7a0633e8eb4952996dc12af3832968e43a:
UAPI: (Scripted) Disintegrate arch/arm/include/asm (2012-10-04 18:20:22 +0100)
----------------------------------------------------------------
David Howells (6):
UAPI: Fix the guards on various asm/unistd.h files
UAPI: Split compound conditionals containing __KERNEL__ in Arm64
Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
UAPI: Fix conditional header installation handling (notably kvm_para.h on m68k)
UAPI: (Scripted) Disintegrate include/asm-generic
UAPI: (Scripted) Disintegrate arch/arm/include/asm
Mark Salter (2):
c6x: make dsk6455 the default config
c6x: remove c6x signal.h
arch/arm/include/asm/Kbuild | 2 -
arch/arm/include/asm/hwcap.h | 27 +-
arch/arm/include/asm/param.h | 17 +-
arch/arm/include/asm/ptrace.h | 126 +---
arch/arm/include/asm/setup.h | 172 +----
arch/arm/include/asm/signal.h | 127 +---
arch/arm/include/asm/swab.h | 37 +-
arch/arm/include/asm/termios.h | 44 +-
arch/arm/include/asm/types.h | 6 +-
arch/arm/include/asm/unistd.h | 433 +-----------
arch/arm/include/uapi/asm/Kbuild | 26 +
arch/arm/include/{ => uapi}/asm/a.out.h | 0
arch/arm/include/{ => uapi}/asm/byteorder.h | 0
arch/arm/include/{ => uapi}/asm/fcntl.h | 0
arch/arm/include/uapi/asm/hwcap.h | 29 +
arch/arm/include/{ => uapi}/asm/ioctls.h | 0
arch/arm/include/{ => uapi}/asm/ipcbuf.h | 0
arch/arm/include/{ => uapi}/asm/kvm_para.h | 0
arch/arm/include/{ => uapi}/asm/mman.h | 0
arch/arm/include/{ => uapi}/asm/msgbuf.h | 0
arch/arm/include/uapi/asm/param.h | 26 +
arch/arm/include/{ => uapi}/asm/posix_types.h | 0
arch/arm/include/uapi/asm/ptrace.h | 137 ++++
arch/arm/include/{ => uapi}/asm/sembuf.h | 0
arch/arm/include/uapi/asm/setup.h | 187 ++++++
arch/arm/include/{ => uapi}/asm/shmbuf.h | 0
arch/arm/include/{ => uapi}/asm/sigcontext.h | 0
arch/arm/include/uapi/asm/signal.h | 127 ++++
arch/arm/include/{ => uapi}/asm/socket.h | 0
arch/arm/include/{ => uapi}/asm/sockios.h | 0
arch/arm/include/{ => uapi}/asm/stat.h | 0
arch/arm/include/{ => uapi}/asm/statfs.h | 0
arch/arm/include/uapi/asm/swab.h | 53 ++
arch/arm/include/{ => uapi}/asm/termbits.h | 0
arch/arm/include/uapi/asm/termios.h | 44 ++
arch/arm/include/uapi/asm/types.h | 1 +
arch/arm/include/uapi/asm/unistd.h | 445 +++++++++++++
arch/arm64/include/asm/hwcap.h | 4 +-
arch/arm64/include/asm/stat.h | 4 +-
arch/arm64/include/asm/unistd.h | 8 +-
arch/arm64/include/asm/unistd32.h | 4 -
arch/c6x/Makefile | 2 +
arch/c6x/include/asm/Kbuild | 1 +
arch/c6x/include/asm/signal.h | 17 -
arch/c6x/include/asm/unistd.h | 4 -
arch/hexagon/include/asm/unistd.h | 5 -
arch/openrisc/include/asm/unistd.h | 5 -
arch/score/include/asm/unistd.h | 5 -
arch/tile/include/asm/unistd.h | 5 -
arch/unicore32/include/asm/unistd.h | 4 -
include/asm-generic/Kbuild | 35 -
include/asm-generic/bitsperlong.h | 13 +-
include/asm-generic/int-l64.h | 26 +-
include/asm-generic/int-ll64.h | 31 +-
include/asm-generic/ioctl.h | 95 +--
include/asm-generic/kvm_para.h | 5 +-
include/asm-generic/param.h | 17 +-
include/asm-generic/resource.h | 66 +-
include/asm-generic/siginfo.h | 297 +--------
include/asm-generic/signal.h | 117 +---
include/asm-generic/statfs.h | 81 +--
include/asm-generic/termios.h | 49 +-
include/asm-generic/unistd.h | 911 +-------------------------
include/linux/Kbuild | 9 +-
include/uapi/asm-generic/Kbuild | 35 +
include/{ => uapi}/asm-generic/auxvec.h | 0
include/uapi/asm-generic/bitsperlong.h | 15 +
include/{ => uapi}/asm-generic/errno-base.h | 0
include/{ => uapi}/asm-generic/errno.h | 0
include/{ => uapi}/asm-generic/fcntl.h | 0
include/uapi/asm-generic/int-l64.h | 34 +
include/uapi/asm-generic/int-ll64.h | 39 ++
include/uapi/asm-generic/ioctl.h | 98 +++
include/{ => uapi}/asm-generic/ioctls.h | 0
include/{ => uapi}/asm-generic/ipcbuf.h | 0
include/{ => uapi}/asm-generic/mman-common.h | 0
include/{ => uapi}/asm-generic/mman.h | 0
include/{ => uapi}/asm-generic/msgbuf.h | 0
include/uapi/asm-generic/param.h | 19 +
include/{ => uapi}/asm-generic/poll.h | 0
include/{ => uapi}/asm-generic/posix_types.h | 0
include/uapi/asm-generic/resource.h | 68 ++
include/{ => uapi}/asm-generic/sembuf.h | 0
include/{ => uapi}/asm-generic/setup.h | 0
include/{ => uapi}/asm-generic/shmbuf.h | 0
include/{ => uapi}/asm-generic/shmparam.h | 0
include/uapi/asm-generic/siginfo.h | 298 +++++++++
include/{ => uapi}/asm-generic/signal-defs.h | 0
include/uapi/asm-generic/signal.h | 123 ++++
include/{ => uapi}/asm-generic/socket.h | 0
include/{ => uapi}/asm-generic/sockios.h | 0
include/{ => uapi}/asm-generic/stat.h | 0
include/uapi/asm-generic/statfs.h | 83 +++
include/{ => uapi}/asm-generic/swab.h | 0
include/{ => uapi}/asm-generic/termbits.h | 0
include/uapi/asm-generic/termios.h | 50 ++
include/{ => uapi}/asm-generic/types.h | 0
include/{ => uapi}/asm-generic/ucontext.h | 0
include/uapi/asm-generic/unistd.h | 902 +++++++++++++++++++++++++
security/apparmor/Makefile | 2 +-
100 files changed, 2878 insertions(+), 2774 deletions(-)
rename arch/arm/include/{ => uapi}/asm/a.out.h (100%)
rename arch/arm/include/{ => uapi}/asm/byteorder.h (100%)
rename arch/arm/include/{ => uapi}/asm/fcntl.h (100%)
create mode 100644 arch/arm/include/uapi/asm/hwcap.h
rename arch/arm/include/{ => uapi}/asm/ioctls.h (100%)
rename arch/arm/include/{ => uapi}/asm/ipcbuf.h (100%)
rename arch/arm/include/{ => uapi}/asm/kvm_para.h (100%)
rename arch/arm/include/{ => uapi}/asm/mman.h (100%)
rename arch/arm/include/{ => uapi}/asm/msgbuf.h (100%)
create mode 100644 arch/arm/include/uapi/asm/param.h
rename arch/arm/include/{ => uapi}/asm/posix_types.h (100%)
create mode 100644 arch/arm/include/uapi/asm/ptrace.h
rename arch/arm/include/{ => uapi}/asm/sembuf.h (100%)
create mode 100644 arch/arm/include/uapi/asm/setup.h
rename arch/arm/include/{ => uapi}/asm/shmbuf.h (100%)
rename arch/arm/include/{ => uapi}/asm/sigcontext.h (100%)
create mode 100644 arch/arm/include/uapi/asm/signal.h
rename arch/arm/include/{ => uapi}/asm/socket.h (100%)
rename arch/arm/include/{ => uapi}/asm/sockios.h (100%)
rename arch/arm/include/{ => uapi}/asm/stat.h (100%)
rename arch/arm/include/{ => uapi}/asm/statfs.h (100%)
create mode 100644 arch/arm/include/uapi/asm/swab.h
rename arch/arm/include/{ => uapi}/asm/termbits.h (100%)
create mode 100644 arch/arm/include/uapi/asm/termios.h
create mode 100644 arch/arm/include/uapi/asm/types.h
create mode 100644 arch/arm/include/uapi/asm/unistd.h
delete mode 100644 arch/c6x/include/asm/signal.h
rename include/{ => uapi}/asm-generic/auxvec.h (100%)
create mode 100644 include/uapi/asm-generic/bitsperlong.h
rename include/{ => uapi}/asm-generic/errno-base.h (100%)
rename include/{ => uapi}/asm-generic/errno.h (100%)
rename include/{ => uapi}/asm-generic/fcntl.h (100%)
create mode 100644 include/uapi/asm-generic/int-l64.h
create mode 100644 include/uapi/asm-generic/int-ll64.h
create mode 100644 include/uapi/asm-generic/ioctl.h
rename include/{ => uapi}/asm-generic/ioctls.h (100%)
rename include/{ => uapi}/asm-generic/ipcbuf.h (100%)
create mode 100644 include/uapi/asm-generic/kvm_para.h
rename include/{ => uapi}/asm-generic/mman-common.h (100%)
rename include/{ => uapi}/asm-generic/mman.h (100%)
rename include/{ => uapi}/asm-generic/msgbuf.h (100%)
create mode 100644 include/uapi/asm-generic/param.h
rename include/{ => uapi}/asm-generic/poll.h (100%)
rename include/{ => uapi}/asm-generic/posix_types.h (100%)
create mode 100644 include/uapi/asm-generic/resource.h
rename include/{ => uapi}/asm-generic/sembuf.h (100%)
rename include/{ => uapi}/asm-generic/setup.h (100%)
rename include/{ => uapi}/asm-generic/shmbuf.h (100%)
rename include/{ => uapi}/asm-generic/shmparam.h (100%)
create mode 100644 include/uapi/asm-generic/siginfo.h
rename include/{ => uapi}/asm-generic/signal-defs.h (100%)
create mode 100644 include/uapi/asm-generic/signal.h
rename include/{ => uapi}/asm-generic/socket.h (100%)
rename include/{ => uapi}/asm-generic/sockios.h (100%)
rename include/{ => uapi}/asm-generic/stat.h (100%)
create mode 100644 include/uapi/asm-generic/statfs.h
rename include/{ => uapi}/asm-generic/swab.h (100%)
rename include/{ => uapi}/asm-generic/termbits.h (100%)
create mode 100644 include/uapi/asm-generic/termios.h
rename include/{ => uapi}/asm-generic/types.h (100%)
rename include/{ => uapi}/asm-generic/ucontext.h (100%)
create mode 100644 include/uapi/asm-generic/unistd.h
.
^ permalink raw reply
* [GIT PULL] Disintegrate UAPI for arm64
From: David Howells @ 2012-10-04 19:51 UTC (permalink / raw)
To: linux-arm-kernel
Can you merge the following branch into the arm64 tree please.
This is to complete part of the UAPI disintegration for which the preparatory
patches were pulled recently.
Note that there are some fixup patches which are at the base of the branch
aimed at you, plus all arches get the asm-generic branch merged in too.
The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:
Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux (2012-10-03 23:29:23 -0700)
are available in the git repository at:
git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-arm64
for you to fetch changes up to ae4f6c65798014d5d7a88d03e58faba53c0a92e1:
UAPI: (Scripted) Disintegrate arch/arm64/include/asm (2012-10-04 18:20:24 +0100)
----------------------------------------------------------------
David Howells (6):
UAPI: Fix the guards on various asm/unistd.h files
UAPI: Split compound conditionals containing __KERNEL__ in Arm64
Merge remote-tracking branch 'c6x/for-linux-next' into uapi-prep
UAPI: Fix conditional header installation handling (notably kvm_para.h on m68k)
UAPI: (Scripted) Disintegrate include/asm-generic
UAPI: (Scripted) Disintegrate arch/arm64/include/asm
Mark Salter (2):
c6x: make dsk6455 the default config
c6x: remove c6x signal.h
arch/arm64/include/asm/Kbuild | 2 -
arch/arm64/include/asm/hwcap.h | 22 +-
arch/arm64/include/asm/ptrace.h | 88 +--
arch/arm64/include/asm/sigcontext.h | 40 +-
arch/arm64/include/asm/stat.h | 5 +-
arch/arm64/include/asm/unistd.h | 12 +-
arch/arm64/include/asm/unistd32.h | 4 -
arch/arm64/include/uapi/asm/Kbuild | 14 +
arch/arm64/include/{ => uapi}/asm/auxvec.h | 0
arch/arm64/include/{ => uapi}/asm/bitsperlong.h | 0
arch/arm64/include/{ => uapi}/asm/byteorder.h | 0
arch/arm64/include/{ => uapi}/asm/fcntl.h | 0
arch/arm64/include/uapi/asm/hwcap.h | 39 +
arch/arm64/include/{ => uapi}/asm/param.h | 0
arch/arm64/include/uapi/asm/ptrace.h | 110 +++
arch/arm64/include/{ => uapi}/asm/setup.h | 0
arch/arm64/include/uapi/asm/sigcontext.h | 57 ++
arch/arm64/include/{ => uapi}/asm/siginfo.h | 0
arch/arm64/include/{ => uapi}/asm/signal.h | 0
arch/arm64/include/uapi/asm/stat.h | 16 +
arch/arm64/include/{ => uapi}/asm/statfs.h | 0
arch/arm64/include/uapi/asm/unistd.h | 16 +
arch/c6x/Makefile | 2 +
arch/c6x/include/asm/Kbuild | 1 +
arch/c6x/include/asm/signal.h | 17 -
arch/c6x/include/asm/unistd.h | 4 -
arch/hexagon/include/asm/unistd.h | 5 -
arch/openrisc/include/asm/unistd.h | 5 -
arch/score/include/asm/unistd.h | 5 -
arch/tile/include/asm/unistd.h | 5 -
arch/unicore32/include/asm/unistd.h | 4 -
include/asm-generic/Kbuild | 35 -
include/asm-generic/bitsperlong.h | 13 +-
include/asm-generic/int-l64.h | 26 +-
include/asm-generic/int-ll64.h | 31 +-
include/asm-generic/ioctl.h | 95 +--
include/asm-generic/kvm_para.h | 5 +-
include/asm-generic/param.h | 17 +-
include/asm-generic/resource.h | 66 +-
include/asm-generic/siginfo.h | 297 +-------
include/asm-generic/signal.h | 117 +--
include/asm-generic/statfs.h | 81 +--
include/asm-generic/termios.h | 49 +-
include/asm-generic/unistd.h | 911 +-----------------------
include/linux/Kbuild | 9 +-
include/uapi/asm-generic/Kbuild | 35 +
include/{ => uapi}/asm-generic/auxvec.h | 0
include/uapi/asm-generic/bitsperlong.h | 15 +
include/{ => uapi}/asm-generic/errno-base.h | 0
include/{ => uapi}/asm-generic/errno.h | 0
include/{ => uapi}/asm-generic/fcntl.h | 0
include/uapi/asm-generic/int-l64.h | 34 +
include/uapi/asm-generic/int-ll64.h | 39 +
include/uapi/asm-generic/ioctl.h | 98 +++
include/{ => uapi}/asm-generic/ioctls.h | 0
include/{ => uapi}/asm-generic/ipcbuf.h | 0
include/{ => uapi}/asm-generic/mman-common.h | 0
include/{ => uapi}/asm-generic/mman.h | 0
include/{ => uapi}/asm-generic/msgbuf.h | 0
include/uapi/asm-generic/param.h | 19 +
include/{ => uapi}/asm-generic/poll.h | 0
include/{ => uapi}/asm-generic/posix_types.h | 0
include/uapi/asm-generic/resource.h | 68 ++
include/{ => uapi}/asm-generic/sembuf.h | 0
include/{ => uapi}/asm-generic/setup.h | 0
include/{ => uapi}/asm-generic/shmbuf.h | 0
include/{ => uapi}/asm-generic/shmparam.h | 0
include/uapi/asm-generic/siginfo.h | 298 ++++++++
include/{ => uapi}/asm-generic/signal-defs.h | 0
include/uapi/asm-generic/signal.h | 123 ++++
include/{ => uapi}/asm-generic/socket.h | 0
include/{ => uapi}/asm-generic/sockios.h | 0
include/{ => uapi}/asm-generic/stat.h | 0
include/uapi/asm-generic/statfs.h | 83 +++
include/{ => uapi}/asm-generic/swab.h | 0
include/{ => uapi}/asm-generic/termbits.h | 0
include/uapi/asm-generic/termios.h | 50 ++
include/{ => uapi}/asm-generic/types.h | 0
include/{ => uapi}/asm-generic/ucontext.h | 0
include/uapi/asm-generic/unistd.h | 902 +++++++++++++++++++++++
security/apparmor/Makefile | 2 +-
81 files changed, 2044 insertions(+), 1947 deletions(-)
rename arch/arm64/include/{ => uapi}/asm/auxvec.h (100%)
rename arch/arm64/include/{ => uapi}/asm/bitsperlong.h (100%)
rename arch/arm64/include/{ => uapi}/asm/byteorder.h (100%)
rename arch/arm64/include/{ => uapi}/asm/fcntl.h (100%)
create mode 100644 arch/arm64/include/uapi/asm/hwcap.h
rename arch/arm64/include/{ => uapi}/asm/param.h (100%)
create mode 100644 arch/arm64/include/uapi/asm/ptrace.h
rename arch/arm64/include/{ => uapi}/asm/setup.h (100%)
create mode 100644 arch/arm64/include/uapi/asm/sigcontext.h
rename arch/arm64/include/{ => uapi}/asm/siginfo.h (100%)
rename arch/arm64/include/{ => uapi}/asm/signal.h (100%)
create mode 100644 arch/arm64/include/uapi/asm/stat.h
rename arch/arm64/include/{ => uapi}/asm/statfs.h (100%)
create mode 100644 arch/arm64/include/uapi/asm/unistd.h
delete mode 100644 arch/c6x/include/asm/signal.h
rename include/{ => uapi}/asm-generic/auxvec.h (100%)
create mode 100644 include/uapi/asm-generic/bitsperlong.h
rename include/{ => uapi}/asm-generic/errno-base.h (100%)
rename include/{ => uapi}/asm-generic/errno.h (100%)
rename include/{ => uapi}/asm-generic/fcntl.h (100%)
create mode 100644 include/uapi/asm-generic/int-l64.h
create mode 100644 include/uapi/asm-generic/int-ll64.h
create mode 100644 include/uapi/asm-generic/ioctl.h
rename include/{ => uapi}/asm-generic/ioctls.h (100%)
rename include/{ => uapi}/asm-generic/ipcbuf.h (100%)
create mode 100644 include/uapi/asm-generic/kvm_para.h
rename include/{ => uapi}/asm-generic/mman-common.h (100%)
rename include/{ => uapi}/asm-generic/mman.h (100%)
rename include/{ => uapi}/asm-generic/msgbuf.h (100%)
create mode 100644 include/uapi/asm-generic/param.h
rename include/{ => uapi}/asm-generic/poll.h (100%)
rename include/{ => uapi}/asm-generic/posix_types.h (100%)
create mode 100644 include/uapi/asm-generic/resource.h
rename include/{ => uapi}/asm-generic/sembuf.h (100%)
rename include/{ => uapi}/asm-generic/setup.h (100%)
rename include/{ => uapi}/asm-generic/shmbuf.h (100%)
rename include/{ => uapi}/asm-generic/shmparam.h (100%)
create mode 100644 include/uapi/asm-generic/siginfo.h
rename include/{ => uapi}/asm-generic/signal-defs.h (100%)
create mode 100644 include/uapi/asm-generic/signal.h
rename include/{ => uapi}/asm-generic/socket.h (100%)
rename include/{ => uapi}/asm-generic/sockios.h (100%)
rename include/{ => uapi}/asm-generic/stat.h (100%)
create mode 100644 include/uapi/asm-generic/statfs.h
rename include/{ => uapi}/asm-generic/swab.h (100%)
rename include/{ => uapi}/asm-generic/termbits.h (100%)
create mode 100644 include/uapi/asm-generic/termios.h
rename include/{ => uapi}/asm-generic/types.h (100%)
rename include/{ => uapi}/asm-generic/ucontext.h (100%)
create mode 100644 include/uapi/asm-generic/unistd.h
.
^ permalink raw reply
* [GIT PULL] Disintegrate UAPI for arm64
From: Catalin Marinas @ 2012-10-04 20:22 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <17350.1349380264@warthog.procyon.org.uk>
On Thu, Oct 04, 2012 at 08:51:04PM +0100, David Howells wrote:
> Can you merge the following branch into the arm64 tree please.
>
> This is to complete part of the UAPI disintegration for which the preparatory
> patches were pulled recently.
>
> Note that there are some fixup patches which are at the base of the branch
> aimed at you, plus all arches get the asm-generic branch merged in too.
>
> The following changes since commit 612a9aab56a93533e76e3ad91642db7033e03b69:
>
> Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux (2012-10-03 23:29:23 -0700)
>
> are available in the git repository at:
>
>
> git://git.infradead.org/users/dhowells/linux-headers.git disintegrate-arm64
>
> for you to fetch changes up to ae4f6c65798014d5d7a88d03e58faba53c0a92e1:
>
> UAPI: (Scripted) Disintegrate arch/arm64/include/asm (2012-10-04 18:20:24 +0100)
...
> arch/c6x/Makefile | 2 +
> arch/c6x/include/asm/Kbuild | 1 +
> arch/c6x/include/asm/signal.h | 17 -
> arch/c6x/include/asm/unistd.h | 4 -
> arch/hexagon/include/asm/unistd.h | 5 -
> arch/openrisc/include/asm/unistd.h | 5 -
> arch/score/include/asm/unistd.h | 5 -
> arch/tile/include/asm/unistd.h | 5 -
> arch/unicore32/include/asm/unistd.h | 4 -
It seems that this branch contains more than just arm64 changes. Are
they going into mainline separately?
--
Catalin
^ permalink raw reply
* [PATCH v2 0/9] add EDO feature for gpmi-nand driver
From: Marek Vasut @ 2012-10-04 20:24 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <1347519480-31106-1-git-send-email-b32955@freescale.com>
Dear Huang Shijie,
> The ONFI nand supports the EDO (extended data out) feature in
> asynchronous mode when the host controller(such as gpmi-nand)
> uses a tRC of less then 30ns.
>
> The gpmi can supports this EDO feature.
> This patch set adds the EDO support the gpmi-nand driver.
>
> patch 1 ~ patch 2:
> These two patches provide the infrastructure for the EDO feature.
> They add necessary MTD helpers for the ONFI nand set/get features,
> and the help to get the supportted timing mode.
> These two patches are new version. The init version has been
> reviewed by Vikram & Florian.
>
> patch 3 ~ patch 7:
> These patches are clean-ups for the gpmi-nand's timing code.
> Also they make the some preparations for the EDO patch.
>
> patch 8: add the EDO feature to the gpmi-nand.
>
>
> patch 9: a small optimization for the timing.
> only set the timing registers one time.
>
> I tested this patch set on the IMX6Q-arm2 board with several Micron's
> ONFI nand chips. Some chips only can supports to mode 4, some chips
> can supports to mode 5.
>
> The performance is much improved. Take Micron MT29F32G08MAA for example
> (in mode 5, 100MHz):
[...]
Was this ever tested on something else than mx6q? I suspect these broke gpmi
nand on mx28. Can you please verify?
^ permalink raw reply
* [PATCH RFC 1/2] gpio: Add a block GPIO API to gpiolib
From: Roland Stigge @ 2012-10-04 20:25 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <CACRpkdYGePft_XvhhoNyRfBm484FD46WGagivQzjh5-OE3VJUA@mail.gmail.com>
Hi,
On 04/10/12 01:07, Linus Walleij wrote:
>> What do others think? JC? Linus? I'm considering this (unsigned int
>> data) a valid option.
>
> I think we mostly use an unsigned long for such stuff as IRQ flags
> and ioctl() parameters in the kernel.
>
> In this case it has the upside that it will be 32bit on 32bit systems
> and 64bit on 64bit systems if I'm not mistaken.
Fine. Will try to prepare a patch tomorrow, including fallback to single
GPIO handling (if the driver doesn't implement block operations) and
omitting the sysfs interface in the first patch.
Roland
^ permalink raw reply
* [PATCH v3 3/6] ARM: davinci: da850: changed SRAM allocator to shared ram.
From: Matt Porter @ 2012-10-04 20:39 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <506D79A3.4020506@ti.com>
On Thu, Oct 04, 2012 at 05:27:23PM +0530, Sekhar Nori wrote:
> Matt,
>
> On 10/3/2012 8:25 PM, Matt Porter wrote:
> > From: Subhasish Ghosh <subhasish@mistralsolutions.com>
> >
> > This patch modifies the sram allocator to allocate memory
> > from the DA8XX shared RAM.
> >
> > Signed-off-by: Subhasish Ghosh <subhasish@mistralsolutions.com>
> > [rebased onto consolidated SRAM patches]
> > Signed-off-by: Ben Gardiner <bengardiner@nanometrics.ca>
> > [rebased to mainline as consolidated SRAM patches were dropped]
> > Signed-off-by: Matt Porter <mporter@ti.com>
>
> Were you able to test PM with this change or you need my help?
I verified suspend/resume is working fine with this change on
AM180x EVM. Will note this all in v4.
-Matt
^ permalink raw reply
* [PATCH v2 0/9] add EDO feature for gpmi-nand driver
From: Marek Vasut @ 2012-10-04 20:56 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <201210042224.30095.marex@denx.de>
Dear Huang Shijie,
> > The ONFI nand supports the EDO (extended data out) feature in
> > asynchronous mode when the host controller(such as gpmi-nand)
> > uses a tRC of less then 30ns.
> >
> > The gpmi can supports this EDO feature.
> > This patch set adds the EDO support the gpmi-nand driver.
> >
> > patch 1 ~ patch 2:
> > These two patches provide the infrastructure for the EDO feature.
> >
> > They add necessary MTD helpers for the ONFI nand set/get
> > features,
> >
> > and the help to get the supportted timing mode.
> > These two patches are new version. The init version has been
> > reviewed by Vikram & Florian.
> >
> > patch 3 ~ patch 7:
> > These patches are clean-ups for the gpmi-nand's timing code.
> >
> > Also they make the some preparations for the EDO patch.
> >
> > patch 8: add the EDO feature to the gpmi-nand.
> >
> >
> > patch 9: a small optimization for the timing.
> >
> > only set the timing registers one time.
> >
> > I tested this patch set on the IMX6Q-arm2 board with several Micron's
> > ONFI nand chips. Some chips only can supports to mode 4, some chips
> > can supports to mode 5.
> >
> > The performance is much improved. Take Micron MT29F32G08MAA for example
>
> > (in mode 5, 100MHz):
> [...]
>
> Was this ever tested on something else than mx6q? I suspect these broke
> gpmi nand on mx28. Can you please verify?
Hm, this series isnt the problematic one ... poking further ... I recall next
20120921 worked fine.
Best regards,
Marek Vasut
^ permalink raw reply
* [PATCH 00/16] More omap plat header cleanup for v3.8 merge window
From: Tony Lindgren @ 2012-10-04 22:04 UTC (permalink / raw)
To: linux-arm-kernel
Hi all,
Here are some more patches for early merging after -rc1 for v3.8
merge window to remove more plat includes for the ARM common
zImage support. These are based on top of current linux next +
kevin's cpufreq fixes.
More patches to follow, I'll start looking into plat/cpu.h next.
Regards,
Tony
---
Tony Lindgren (16):
ARM: OMAP2+: Make board-zoom.h local
ARM: OMAP: Split plat-omap/i2c.c into mach-omap1 and mach-omap2
ARM: OMAP: Make plat/common.h local to mach-omap1 and mach-omap2
ARM: OMAP: Make plat/fpga.h local to arch/arm/plat-omap
ARM: OMAP1: Move plat/tc.h to mach/tc.h for omap1
ARM: OMAP: Move plat/led.h to include/linux/platform_data
ARM: OMAP: Make plat/sram.h local to plat-omap
ARM: OMAP2: Move plat/menelaus.h to linux/mfd/menelaus.h
ARM: OMAP: Split plat/mmc.h into local headers and platform_data
ARM: OMAP: Make omap_device local to mach-omap2
ARM: OMAP: Make plat/omap_hwmod.h local to mach-omap2
ARM: OMAP: Merge plat/multi.h into plat/cpu.h
ARM: OMAP: Split uncompress.h to mach-omap1 and mach-omap2
ARM: OMAP: Split plat/serial.h for omap1 and omap2+
ARM: OMAP: Move plat/omap-serial.h to linux/platform_data/serial-omap.h
ARM: OMAP: Make plat/omap-pm.h local to mach-omap2
arch/arm/mach-omap1/board-fsample.c | 8 -
arch/arm/mach-omap1/board-h2-mmc.c | 5
arch/arm/mach-omap1/board-h2.c | 2
arch/arm/mach-omap1/board-h3-mmc.c | 3
arch/arm/mach-omap1/board-h3.c | 2
arch/arm/mach-omap1/board-htcherald.c | 2
arch/arm/mach-omap1/board-innovator.c | 30 ++-
arch/arm/mach-omap1/board-nokia770.c | 2
arch/arm/mach-omap1/board-osk.c | 2
arch/arm/mach-omap1/board-palmte.c | 2
arch/arm/mach-omap1/board-palmtt.c | 4
arch/arm/mach-omap1/board-palmz71.c | 2
arch/arm/mach-omap1/board-perseus2.c | 8 -
arch/arm/mach-omap1/board-sx1-mmc.c | 3
arch/arm/mach-omap1/board-sx1.c | 2
arch/arm/mach-omap1/board-voiceblue.c | 2
arch/arm/mach-omap1/clock.c | 3
arch/arm/mach-omap1/clock_data.c | 3
arch/arm/mach-omap1/common.h | 6 -
arch/arm/mach-omap1/devices.c | 6 -
arch/arm/mach-omap1/dma.c | 2
arch/arm/mach-omap1/flash.c | 2
arch/arm/mach-omap1/fpga.c | 2
arch/arm/mach-omap1/i2c.c | 59 ++++++
arch/arm/mach-omap1/include/mach/debug-macro.S | 2
arch/arm/mach-omap1/include/mach/hardware.h | 4
arch/arm/mach-omap1/include/mach/omap1510.h | 113 +++++++++++
arch/arm/mach-omap1/include/mach/serial.h | 53 +++++
arch/arm/mach-omap1/include/mach/tc.h | 0
arch/arm/mach-omap1/include/mach/uncompress.h | 121 ++++++++++++
arch/arm/mach-omap1/io.c | 2
arch/arm/mach-omap1/mmc.h | 18 ++
arch/arm/mach-omap1/pm.c | 5
arch/arm/mach-omap1/pm_bus.c | 3
arch/arm/mach-omap1/serial.c | 1
arch/arm/mach-omap2/Makefile | 3
arch/arm/mach-omap2/am35xx-emac.c | 2
arch/arm/mach-omap2/board-3630sdp.c | 2
arch/arm/mach-omap2/board-4430sdp.c | 2
arch/arm/mach-omap2/board-apollon.c | 2
arch/arm/mach-omap2/board-flash.c | 1
arch/arm/mach-omap2/board-h4.c | 2
arch/arm/mach-omap2/board-ldp.c | 2
arch/arm/mach-omap2/board-n8x0.c | 4
arch/arm/mach-omap2/board-omap3beagle.c | 2
arch/arm/mach-omap2/board-omap4panda.c | 2
arch/arm/mach-omap2/board-rm680.c | 4
arch/arm/mach-omap2/board-rx51-peripherals.c | 2
arch/arm/mach-omap2/board-zoom-debugboard.c | 2
arch/arm/mach-omap2/board-zoom-display.c | 2
arch/arm/mach-omap2/board-zoom-peripherals.c | 2
arch/arm/mach-omap2/board-zoom.c | 2
arch/arm/mach-omap2/board-zoom.h | 0
arch/arm/mach-omap2/clkt2xxx_dpllcore.c | 3
arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c | 3
arch/arm/mach-omap2/clkt34xx_dpll3m2.c | 3
arch/arm/mach-omap2/clockdomain.h | 2
arch/arm/mach-omap2/cm33xx.c | 2
arch/arm/mach-omap2/common.h | 8 +
arch/arm/mach-omap2/devices.c | 4
arch/arm/mach-omap2/display.c | 6 -
arch/arm/mach-omap2/dma.c | 4
arch/arm/mach-omap2/drm.c | 4
arch/arm/mach-omap2/dsp.c | 2
arch/arm/mach-omap2/gpio.c | 6 -
arch/arm/mach-omap2/gpmc.c | 2
arch/arm/mach-omap2/hdq1w.c | 4
arch/arm/mach-omap2/hdq1w.h | 2
arch/arm/mach-omap2/hsmmc.c | 6 -
arch/arm/mach-omap2/hwspinlock.c | 4
arch/arm/mach-omap2/i2c.c | 74 +++++++
arch/arm/mach-omap2/i2c.h | 25 --
arch/arm/mach-omap2/include/mach/debug-macro.S | 2
arch/arm/mach-omap2/include/mach/uncompress.h | 175 +++++++++++++++++
arch/arm/mach-omap2/io.c | 10 -
arch/arm/mach-omap2/mcbsp.c | 2
arch/arm/mach-omap2/mmc.h | 23 ++
arch/arm/mach-omap2/msdi.c | 6 -
arch/arm/mach-omap2/mux.c | 2
arch/arm/mach-omap2/omap-pm.h | 0
arch/arm/mach-omap2/omap4-common.c | 6 -
arch/arm/mach-omap2/omap_device.c | 4
arch/arm/mach-omap2/omap_device.h | 2
arch/arm/mach-omap2/omap_hwmod.c | 2
arch/arm/mach-omap2/omap_hwmod.h | 0
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 9 -
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 9 -
.../omap_hwmod_2xxx_3xxx_interconnect_data.c | 3
.../mach-omap2/omap_hwmod_2xxx_3xxx_ipblock_data.c | 5
.../mach-omap2/omap_hwmod_2xxx_interconnect_data.c | 4
arch/arm/mach-omap2/omap_hwmod_2xxx_ipblock_data.c | 3
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 8 -
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 10 +
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 9 -
arch/arm/mach-omap2/omap_hwmod_common_data.c | 2
arch/arm/mach-omap2/omap_hwmod_common_data.h | 2
arch/arm/mach-omap2/omap_opp_data.h | 2
arch/arm/mach-omap2/opp.c | 2
arch/arm/mach-omap2/pm-debug.c | 2
arch/arm/mach-omap2/pm.c | 4
arch/arm/mach-omap2/pm24xx.c | 3
arch/arm/mach-omap2/pm34xx.c | 3
arch/arm/mach-omap2/pmu.c | 4
arch/arm/mach-omap2/prm33xx.c | 2
arch/arm/mach-omap2/prm_common.c | 2
arch/arm/mach-omap2/sdrc.c | 2
arch/arm/mach-omap2/sdrc2xxx.c | 2
arch/arm/mach-omap2/serial.c | 13 +
arch/arm/mach-omap2/serial.h | 11 -
arch/arm/mach-omap2/sleep34xx.S | 2
arch/arm/mach-omap2/sr_device.c | 2
arch/arm/mach-omap2/timer.c | 6 -
arch/arm/mach-omap2/twl-common.c | 1
arch/arm/mach-omap2/usb-host.c | 2
arch/arm/mach-omap2/usb-musb.c | 2
arch/arm/mach-omap2/wd_timer.c | 2
arch/arm/mach-omap2/wd_timer.h | 2
arch/arm/plat-omap/Makefile | 1
arch/arm/plat-omap/common.c | 2
arch/arm/plat-omap/common.h | 10 -
arch/arm/plat-omap/counter_32k.c | 2
arch/arm/plat-omap/debug-leds.c | 2
arch/arm/plat-omap/dma.c | 24 +-
arch/arm/plat-omap/dmtimer.c | 3
arch/arm/plat-omap/fpga.h | 74 +++++++
arch/arm/plat-omap/i2c.c | 152 ---------------
arch/arm/plat-omap/i2c.h | 46 +++++
arch/arm/plat-omap/include/plat/cpu.h | 96 +++++++++
arch/arm/plat-omap/include/plat/fpga.h | 193 -------------------
arch/arm/plat-omap/include/plat/multi.h | 120 ------------
arch/arm/plat-omap/include/plat/sram.h | 105 ----------
arch/arm/plat-omap/include/plat/uncompress.h | 204 --------------------
arch/arm/plat-omap/omap-pm-noop.c | 5
arch/arm/plat-omap/sram.c | 1
arch/arm/plat-omap/sram.h | 109 ++++++++++-
drivers/media/platform/omap3isp/ispvideo.c | 1
drivers/media/rc/ir-rx51.c | 1
drivers/mfd/menelaus.c | 2
drivers/mmc/host/omap.c | 3
drivers/mmc/host/omap_hsmmc.c | 2
drivers/pcmcia/omap_cf.c | 2
drivers/tty/serial/omap-serial.c | 35 +++
drivers/usb/host/ohci-omap.c | 5
drivers/video/omap/lcd_inn1510.c | 7 -
include/linux/mfd/menelaus.h | 2
include/linux/platform_data/leds-omap.h | 2
include/linux/platform_data/mmc-omap.h | 45 ----
include/linux/platform_data/serial-omap.h | 40 ----
148 files changed, 1224 insertions(+), 1127 deletions(-)
create mode 100644 arch/arm/mach-omap1/include/mach/serial.h
rename arch/arm/{plat-omap/include/plat/tc.h => mach-omap1/include/mach/tc.h} (100%)
create mode 100644 arch/arm/mach-omap1/mmc.h
rename arch/arm/mach-omap2/{include/mach/board-zoom.h => board-zoom.h} (100%)
rename arch/arm/{plat-omap/include/plat/i2c.h => mach-omap2/i2c.h} (66%)
create mode 100644 arch/arm/mach-omap2/mmc.h
rename arch/arm/{plat-omap/include/plat/omap-pm.h => mach-omap2/omap-pm.h} (100%)
rename arch/arm/{plat-omap/omap_device.c => mach-omap2/omap_device.c} (99%)
rename arch/arm/{plat-omap/include/plat/omap_device.h => mach-omap2/omap_device.h} (99%)
rename arch/arm/{plat-omap/include/plat/omap_hwmod.h => mach-omap2/omap_hwmod.h} (100%)
rename arch/arm/{plat-omap/include/plat/serial.h => mach-omap2/serial.h} (91%)
rename arch/arm/plat-omap/{include/plat/common.h => common.h} (89%)
create mode 100644 arch/arm/plat-omap/fpga.h
create mode 100644 arch/arm/plat-omap/i2c.h
delete mode 100644 arch/arm/plat-omap/include/plat/fpga.h
delete mode 100644 arch/arm/plat-omap/include/plat/multi.h
delete mode 100644 arch/arm/plat-omap/include/plat/sram.h
delete mode 100644 arch/arm/plat-omap/include/plat/uncompress.h
rename arch/arm/plat-omap/include/plat/menelaus.h => include/linux/mfd/menelaus.h (96%)
rename arch/arm/plat-omap/include/plat/led.h => include/linux/platform_data/leds-omap.h (91%)
rename arch/arm/plat-omap/include/plat/mmc.h => include/linux/platform_data/mmc-omap.h (80%)
rename arch/arm/plat-omap/include/plat/omap-serial.h => include/linux/platform_data/serial-omap.h (67%)
--
Signature
^ permalink raw reply
* [PATCH 01/16] ARM: OMAP2+: Make board-zoom.h local
From: Tony Lindgren @ 2012-10-04 22:04 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20121004213950.26676.21898.stgit@muffinssi.local>
This can be local to mach-omap2.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/board-3630sdp.c | 2 +-
arch/arm/mach-omap2/board-ldp.c | 2 +-
arch/arm/mach-omap2/board-zoom-debugboard.c | 2 +-
arch/arm/mach-omap2/board-zoom-display.c | 2 +-
arch/arm/mach-omap2/board-zoom-peripherals.c | 2 +-
arch/arm/mach-omap2/board-zoom.c | 2 +-
arch/arm/mach-omap2/board-zoom.h | 0
7 files changed, 6 insertions(+), 6 deletions(-)
rename arch/arm/mach-omap2/{include/mach/board-zoom.h => board-zoom.h} (100%)
diff --git a/arch/arm/mach-omap2/board-3630sdp.c b/arch/arm/mach-omap2/board-3630sdp.c
index fc224ad..f1df601 100644
--- a/arch/arm/mach-omap2/board-3630sdp.c
+++ b/arch/arm/mach-omap2/board-3630sdp.c
@@ -20,7 +20,7 @@
#include "gpmc-smc91x.h"
#include <plat/usb.h>
-#include <mach/board-zoom.h>
+#include "board-zoom.h"
#include "board-flash.h"
#include "mux.h"
diff --git a/arch/arm/mach-omap2/board-ldp.c b/arch/arm/mach-omap2/board-ldp.c
index ee8c3cf..4a784ef 100644
--- a/arch/arm/mach-omap2/board-ldp.c
+++ b/arch/arm/mach-omap2/board-ldp.c
@@ -36,7 +36,7 @@
#include "common.h"
#include <plat/gpmc.h>
-#include <mach/board-zoom.h>
+#include "board-zoom.h"
#include <plat/usb.h>
#include "gpmc-smsc911x.h"
diff --git a/arch/arm/mach-omap2/board-zoom-debugboard.c b/arch/arm/mach-omap2/board-zoom-debugboard.c
index afb2278..36c8767 100644
--- a/arch/arm/mach-omap2/board-zoom-debugboard.c
+++ b/arch/arm/mach-omap2/board-zoom-debugboard.c
@@ -20,7 +20,7 @@
#include <plat/gpmc.h>
#include "gpmc-smsc911x.h"
-#include <mach/board-zoom.h>
+#include "board-zoom.h"
#include "soc.h"
#include "common.h"
diff --git a/arch/arm/mach-omap2/board-zoom-display.c b/arch/arm/mach-omap2/board-zoom-display.c
index b940ab2..230cb33 100644
--- a/arch/arm/mach-omap2/board-zoom-display.c
+++ b/arch/arm/mach-omap2/board-zoom-display.c
@@ -16,7 +16,7 @@
#include <linux/spi/spi.h>
#include <linux/platform_data/spi-omap2-mcspi.h>
#include <video/omapdss.h>
-#include <mach/board-zoom.h>
+#include "board-zoom.h"
#include "common.h"
diff --git a/arch/arm/mach-omap2/board-zoom-peripherals.c b/arch/arm/mach-omap2/board-zoom-peripherals.c
index 67f8540..01bfba5 100644
--- a/arch/arm/mach-omap2/board-zoom-peripherals.c
+++ b/arch/arm/mach-omap2/board-zoom-peripherals.c
@@ -28,7 +28,7 @@
#include "common.h"
#include <plat/usb.h>
-#include <mach/board-zoom.h>
+#include "board-zoom.h"
#include "mux.h"
#include "hsmmc.h"
diff --git a/arch/arm/mach-omap2/board-zoom.c b/arch/arm/mach-omap2/board-zoom.c
index 4994438..cbfd9df 100644
--- a/arch/arm/mach-omap2/board-zoom.c
+++ b/arch/arm/mach-omap2/board-zoom.c
@@ -24,7 +24,7 @@
#include "common.h"
#include <plat/usb.h>
-#include <mach/board-zoom.h>
+#include "board-zoom.h"
#include "board-flash.h"
#include "mux.h"
diff --git a/arch/arm/mach-omap2/include/mach/board-zoom.h b/arch/arm/mach-omap2/board-zoom.h
similarity index 100%
rename from arch/arm/mach-omap2/include/mach/board-zoom.h
rename to arch/arm/mach-omap2/board-zoom.h
^ permalink raw reply related
* [PATCH 02/16] ARM: OMAP: Split plat-omap/i2c.c into mach-omap1 and mach-omap2
From: Tony Lindgren @ 2012-10-04 22:04 UTC (permalink / raw)
To: linux-arm-kernel
In-Reply-To: <20121004213950.26676.21898.stgit@muffinssi.local>
There's no need to keep the device related things in the
common i2c.c as omap2+ is using hwmod. Split the code to
mach-omap1 and mach-omap2 parts and only leave common
code to plat-omap/i2c.c.
Note that as omap1 only has one i2c controller, we can
now remove the old device related macros.
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap1/common.h | 3 +
arch/arm/mach-omap1/i2c.c | 59 +++++++++++
arch/arm/mach-omap2/board-rm680.c | 1
arch/arm/mach-omap2/common.h | 4 +
arch/arm/mach-omap2/i2c.c | 72 +++++++++++++
arch/arm/mach-omap2/i2c.h | 25 +----
arch/arm/mach-omap2/omap_hwmod_2420_data.c | 4 +
arch/arm/mach-omap2/omap_hwmod_2430_data.c | 4 +
arch/arm/mach-omap2/omap_hwmod_33xx_data.c | 4 +
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 4 +
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 3 -
arch/arm/mach-omap2/twl-common.c | 1
arch/arm/plat-omap/i2c.c | 152 +---------------------------
arch/arm/plat-omap/i2c.h | 46 ++++++++
arch/arm/plat-omap/include/plat/common.h | 1
15 files changed, 202 insertions(+), 181 deletions(-)
rename arch/arm/{plat-omap/include/plat/i2c.h => mach-omap2/i2c.h} (66%)
create mode 100644 arch/arm/plat-omap/i2c.h
diff --git a/arch/arm/mach-omap1/common.h b/arch/arm/mach-omap1/common.h
index c2552b2..306b7ac 100644
--- a/arch/arm/mach-omap1/common.h
+++ b/arch/arm/mach-omap1/common.h
@@ -28,6 +28,9 @@
#include <plat/common.h>
#include <linux/mtd/mtd.h>
+#include <linux/i2c-omap.h>
+
+#include "../plat-omap/i2c.h"
#if defined(CONFIG_ARCH_OMAP730) || defined(CONFIG_ARCH_OMAP850)
void omap7xx_map_io(void);
diff --git a/arch/arm/mach-omap1/i2c.c b/arch/arm/mach-omap1/i2c.c
index a0551a6..a6f465a 100644
--- a/arch/arm/mach-omap1/i2c.c
+++ b/arch/arm/mach-omap1/i2c.c
@@ -19,11 +19,25 @@
*
*/
-#include <plat/i2c.h>
+#include <linux/i2c-omap.h>
#include <mach/mux.h>
#include <plat/cpu.h>
-void __init omap1_i2c_mux_pins(int bus_id)
+#include "../plat-omap/i2c.h"
+
+#define OMAP_I2C_SIZE 0x3f
+#define OMAP1_I2C_BASE 0xfffb3800
+#define OMAP1_INT_I2C (32 + 4)
+
+static const char name[] = "omap_i2c";
+
+static struct resource i2c_resources[2] = {
+};
+
+static struct platform_device omap_i2c_devices[1] = {
+};
+
+static void __init omap1_i2c_mux_pins(int bus_id)
{
if (cpu_is_omap7xx()) {
omap_cfg_reg(I2C_7XX_SDA);
@@ -33,3 +47,44 @@ void __init omap1_i2c_mux_pins(int bus_id)
omap_cfg_reg(I2C_SCL);
}
}
+
+int __init omap_i2c_add_bus(struct omap_i2c_bus_platform_data *pdata,
+ int bus_id)
+{
+ struct platform_device *pdev;
+ struct resource *res;
+
+ omap1_i2c_mux_pins(bus_id);
+
+ pdev = &omap_i2c_devices[bus_id - 1];
+ pdev->id = bus_id;
+ pdev->name = name;
+ pdev->num_resources = ARRAY_SIZE(i2c_resources);
+ res = i2c_resources;
+ res[0].start = OMAP1_I2C_BASE;
+ res[0].end = res[0].start + OMAP_I2C_SIZE;
+ res[0].flags = IORESOURCE_MEM;
+ res[1].start = OMAP1_INT_I2C;
+ res[1].flags = IORESOURCE_IRQ;
+ pdev->resource = res;
+
+ /* all OMAP1 have IP version 1 register set */
+ pdata->rev = OMAP_I2C_IP_VERSION_1;
+
+ /* all OMAP1 I2C are implemented like this */
+ pdata->flags = OMAP_I2C_FLAG_NO_FIFO |
+ OMAP_I2C_FLAG_SIMPLE_CLOCK |
+ OMAP_I2C_FLAG_16BIT_DATA_REG |
+ OMAP_I2C_FLAG_ALWAYS_ARMXOR_CLK;
+
+ /* how the cpu bus is wired up differs for 7xx only */
+
+ if (cpu_is_omap7xx())
+ pdata->flags |= OMAP_I2C_FLAG_BUS_SHIFT_1;
+ else
+ pdata->flags |= OMAP_I2C_FLAG_BUS_SHIFT_2;
+
+ pdev->dev.platform_data = pdata;
+
+ return platform_device_register(pdev);
+}
diff --git a/arch/arm/mach-omap2/board-rm680.c b/arch/arm/mach-omap2/board-rm680.c
index 45997bf..a57ed21 100644
--- a/arch/arm/mach-omap2/board-rm680.c
+++ b/arch/arm/mach-omap2/board-rm680.c
@@ -22,7 +22,6 @@
#include <asm/mach/arch.h>
#include <asm/mach-types.h>
-#include <plat/i2c.h>
#include <plat/mmc.h>
#include <plat/usb.h>
#include <plat/gpmc.h>
diff --git a/arch/arm/mach-omap2/common.h b/arch/arm/mach-omap2/common.h
index 7045e4d..a68b421 100644
--- a/arch/arm/mach-omap2/common.h
+++ b/arch/arm/mach-omap2/common.h
@@ -28,7 +28,9 @@
#include <linux/irq.h>
#include <linux/delay.h>
+#include <linux/i2c.h>
#include <linux/i2c/twl.h>
+#include <linux/i2c-omap.h>
#include <asm/proc-fns.h>
@@ -36,6 +38,8 @@
#include <plat/serial.h>
#include <plat/common.h>
+#include "i2c.h"
+
#define OMAP_INTC_START NR_IRQS
#ifdef CONFIG_SOC_OMAP2420
diff --git a/arch/arm/mach-omap2/i2c.c b/arch/arm/mach-omap2/i2c.c
index fc57e67..b15416c 100644
--- a/arch/arm/mach-omap2/i2c.c
+++ b/arch/arm/mach-omap2/i2c.c
@@ -19,11 +19,15 @@
*
*/
-#include <plat/i2c.h>
+#include <linux/i2c-omap.h>
+
#include "common.h"
#include <plat/omap_hwmod.h>
+#include <plat/omap_device.h>
+#include <plat/omap-pm.h>
#include "mux.h"
+#include "i2c.h"
/* In register I2C_CON, Bit 15 is the I2C enable bit */
#define I2C_EN BIT(15)
@@ -33,7 +37,9 @@
/* Maximum microseconds to wait for OMAP module to softreset */
#define MAX_MODULE_SOFTRESET_WAIT 10000
-void __init omap2_i2c_mux_pins(int bus_id)
+#define MAX_OMAP_I2C_HWMOD_NAME_LEN 16
+
+static void __init omap2_i2c_mux_pins(int bus_id)
{
char mux_name[sizeof("i2c2_scl.i2c2_scl")];
@@ -104,3 +110,65 @@ int omap_i2c_reset(struct omap_hwmod *oh)
return 0;
}
+
+/*
+ * XXX This function is a temporary compatibility wrapper - only
+ * needed until the I2C driver can be converted to call
+ * omap_pm_set_max_dev_wakeup_lat() and handle a return code.
+ */
+static void omap_pm_set_max_mpu_wakeup_lat_compat(struct device *dev, long t)
+{
+ omap_pm_set_max_mpu_wakeup_lat(dev, t);
+}
+
+static const char name[] = "omap_i2c";
+
+int __init omap_i2c_add_bus(struct omap_i2c_bus_platform_data *i2c_pdata,
+ int bus_id)
+{
+ int l;
+ struct omap_hwmod *oh;
+ struct platform_device *pdev;
+ char oh_name[MAX_OMAP_I2C_HWMOD_NAME_LEN];
+ struct omap_i2c_bus_platform_data *pdata;
+ struct omap_i2c_dev_attr *dev_attr;
+
+ omap2_i2c_mux_pins(bus_id);
+
+ l = snprintf(oh_name, MAX_OMAP_I2C_HWMOD_NAME_LEN, "i2c%d", bus_id);
+ WARN(l >= MAX_OMAP_I2C_HWMOD_NAME_LEN,
+ "String buffer overflow in I2C%d device setup\n", bus_id);
+ oh = omap_hwmod_lookup(oh_name);
+ if (!oh) {
+ pr_err("Could not look up %s\n", oh_name);
+ return -EEXIST;
+ }
+
+ pdata = i2c_pdata;
+ /*
+ * pass the hwmod class's CPU-specific knowledge of I2C IP revision in
+ * use, and functionality implementation flags, up to the OMAP I2C
+ * driver via platform data
+ */
+ pdata->rev = oh->class->rev;
+
+ dev_attr = (struct omap_i2c_dev_attr *)oh->dev_attr;
+ pdata->flags = dev_attr->flags;
+
+ /*
+ * When waiting for completion of a i2c transfer, we need to
+ * set a wake up latency constraint for the MPU. This is to
+ * ensure quick enough wakeup from idle, when transfer
+ * completes.
+ * Only omap3 has support for constraints
+ */
+ if (cpu_is_omap34xx())
+ pdata->set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat;
+ pdev = omap_device_build(name, bus_id, oh, pdata,
+ sizeof(struct omap_i2c_bus_platform_data),
+ NULL, 0, 0);
+ WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", name);
+
+ return PTR_RET(pdev);
+}
+
diff --git a/arch/arm/plat-omap/include/plat/i2c.h b/arch/arm/mach-omap2/i2c.h
similarity index 66%
rename from arch/arm/plat-omap/include/plat/i2c.h
rename to arch/arm/mach-omap2/i2c.h
index 7c22b9e..81dbb99 100644
--- a/arch/arm/plat-omap/include/plat/i2c.h
+++ b/arch/arm/mach-omap2/i2c.h
@@ -18,24 +18,11 @@
* 02110-1301 USA
*
*/
-#ifndef __ASM__ARCH_OMAP_I2C_H
-#define __ASM__ARCH_OMAP_I2C_H
-#include <linux/i2c.h>
-#include <linux/i2c-omap.h>
+#include "../plat-omap/i2c.h"
-#if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
-extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
- struct i2c_board_info const *info,
- unsigned len);
-#else
-static inline int omap_register_i2c_bus(int bus_id, u32 clkrate,
- struct i2c_board_info const *info,
- unsigned len)
-{
- return 0;
-}
-#endif
+#ifndef __MACH_OMAP2_I2C_H
+#define __MACH_OMAP2_I2C_H
/**
* i2c_dev_attr - OMAP I2C controller device attributes for omap_hwmod
@@ -50,10 +37,6 @@ struct omap_i2c_dev_attr {
u32 flags;
};
-void __init omap1_i2c_mux_pins(int bus_id);
-void __init omap2_i2c_mux_pins(int bus_id);
-
-struct omap_hwmod;
int omap_i2c_reset(struct omap_hwmod *oh);
-#endif /* __ASM__ARCH_OMAP_I2C_H */
+#endif /* __MACH_OMAP2_I2C_H */
diff --git a/arch/arm/mach-omap2/omap_hwmod_2420_data.c b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
index b5db600..1821109 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2420_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2420_data.c
@@ -12,12 +12,13 @@
* XXX handle crossbar/shared link difference for L3?
* XXX these should be marked initdata for multi-OMAP kernels
*/
+
+#include <linux/i2c-omap.h>
#include <linux/platform_data/spi-omap2-mcspi.h>
#include <plat/omap_hwmod.h>
#include <plat/dma.h>
#include <plat/serial.h>
-#include <plat/i2c.h>
#include <plat/dmtimer.h>
#include "l3_2xxx.h"
#include "l4_2xxx.h"
@@ -27,6 +28,7 @@
#include "cm-regbits-24xx.h"
#include "prm-regbits-24xx.h"
+#include "i2c.h"
#include "wd_timer.h"
/*
diff --git a/arch/arm/mach-omap2/omap_hwmod_2430_data.c b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
index c455e41..f902a18 100644
--- a/arch/arm/mach-omap2/omap_hwmod_2430_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_2430_data.c
@@ -12,13 +12,14 @@
* XXX handle crossbar/shared link difference for L3?
* XXX these should be marked initdata for multi-OMAP kernels
*/
+
+#include <linux/i2c-omap.h>
#include <linux/platform_data/asoc-ti-mcbsp.h>
#include <linux/platform_data/spi-omap2-mcspi.h>
#include <plat/omap_hwmod.h>
#include <plat/dma.h>
#include <plat/serial.h>
-#include <plat/i2c.h>
#include <plat/dmtimer.h>
#include <plat/mmc.h>
#include "l3_2xxx.h"
@@ -27,6 +28,7 @@
#include "omap_hwmod_common_data.h"
#include "prm-regbits-24xx.h"
#include "cm-regbits-24xx.h"
+#include "i2c.h"
#include "wd_timer.h"
/*
diff --git a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
index 59d5c1c..67f1ac4 100644
--- a/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_33xx_data.c
@@ -14,13 +14,14 @@
* GNU General Public License for more details.
*/
+#include <linux/i2c-omap.h>
+
#include <plat/omap_hwmod.h>
#include <plat/cpu.h>
#include <linux/platform_data/gpio-omap.h>
#include <linux/platform_data/spi-omap2-mcspi.h>
#include <plat/dma.h>
#include <plat/mmc.h>
-#include <plat/i2c.h>
#include "omap_hwmod_common_data.h"
@@ -28,6 +29,7 @@
#include "cm33xx.h"
#include "prm33xx.h"
#include "prm-regbits-33xx.h"
+#include "i2c.h"
/*
* IP blocks
diff --git a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
index 2857772..e72ccdc 100644
--- a/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_3xxx_data.c
@@ -14,6 +14,8 @@
*
* XXX these should be marked initdata for multi-OMAP kernels
*/
+
+#include <linux/i2c-omap.h>
#include <linux/power/smartreflex.h>
#include <linux/platform_data/gpio-omap.h>
@@ -22,7 +24,6 @@
#include <plat/serial.h>
#include "l3_3xxx.h"
#include "l4_3xxx.h"
-#include <plat/i2c.h>
#include <plat/mmc.h>
#include <linux/platform_data/asoc-ti-mcbsp.h>
#include <linux/platform_data/spi-omap2-mcspi.h>
@@ -35,6 +36,7 @@
#include "omap_hwmod_common_data.h"
#include "prm-regbits-34xx.h"
#include "cm-regbits-34xx.h"
+#include "i2c.h"
#include "wd_timer.h"
/*
diff --git a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
index 652d028..964d61d 100644
--- a/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
+++ b/arch/arm/mach-omap2/omap_hwmod_44xx_data.c
@@ -21,9 +21,9 @@
#include <linux/io.h>
#include <linux/platform_data/gpio-omap.h>
#include <linux/power/smartreflex.h>
+#include <linux/i2c-omap.h>
#include <plat/omap_hwmod.h>
-#include <plat/i2c.h>
#include <plat/dma.h>
#include <linux/platform_data/spi-omap2-mcspi.h>
#include <linux/platform_data/asoc-ti-mcbsp.h>
@@ -37,6 +37,7 @@
#include "cm2_44xx.h"
#include "prm44xx.h"
#include "prm-regbits-44xx.h"
+#include "i2c.h"
#include "wd_timer.h"
/* Base offset for all OMAP4 interrupts external to MPUSS */
diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index 974974c..0468814 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -26,7 +26,6 @@
#include <linux/regulator/machine.h>
#include <linux/regulator/fixed.h>
-#include <plat/i2c.h>
#include <plat/usb.h>
#include "soc.h"
diff --git a/arch/arm/plat-omap/i2c.c b/arch/arm/plat-omap/i2c.c
index 6013831..37597a6 100644
--- a/arch/arm/plat-omap/i2c.c
+++ b/arch/arm/plat-omap/i2c.c
@@ -32,48 +32,12 @@
#include <linux/clk.h>
#include <mach/irqs.h>
-#include <plat/i2c.h>
-#include <plat/omap-pm.h>
-#include <plat/omap_device.h>
+#include <plat/cpu.h>
-#define OMAP_I2C_SIZE 0x3f
-#define OMAP1_I2C_BASE 0xfffb3800
-#define OMAP1_INT_I2C (32 + 4)
+#include "i2c.h"
-static const char name[] = "omap_i2c";
-
-#define I2C_RESOURCE_BUILDER(base, irq) \
- { \
- .start = (base), \
- .end = (base) + OMAP_I2C_SIZE, \
- .flags = IORESOURCE_MEM, \
- }, \
- { \
- .start = (irq), \
- .flags = IORESOURCE_IRQ, \
- },
-
-static struct resource i2c_resources[][2] = {
- { I2C_RESOURCE_BUILDER(0, 0) },
-};
-
-#define I2C_DEV_BUILDER(bus_id, res, data) \
- { \
- .id = (bus_id), \
- .name = name, \
- .num_resources = ARRAY_SIZE(res), \
- .resource = (res), \
- .dev = { \
- .platform_data = (data), \
- }, \
- }
-
-#define MAX_OMAP_I2C_HWMOD_NAME_LEN 16
#define OMAP_I2C_MAX_CONTROLLERS 4
static struct omap_i2c_bus_platform_data i2c_pdata[OMAP_I2C_MAX_CONTROLLERS];
-static struct platform_device omap_i2c_devices[] = {
- I2C_DEV_BUILDER(1, i2c_resources[0], &i2c_pdata[0]),
-};
#define OMAP_I2C_CMDLINE_SETUP (BIT(31))
@@ -93,114 +57,6 @@ static int __init omap_i2c_nr_ports(void)
return ports;
}
-static inline int omap1_i2c_add_bus(int bus_id)
-{
- struct platform_device *pdev;
- struct omap_i2c_bus_platform_data *pdata;
- struct resource *res;
-
- omap1_i2c_mux_pins(bus_id);
-
- pdev = &omap_i2c_devices[bus_id - 1];
- res = pdev->resource;
- res[0].start = OMAP1_I2C_BASE;
- res[0].end = res[0].start + OMAP_I2C_SIZE;
- res[1].start = OMAP1_INT_I2C;
- pdata = &i2c_pdata[bus_id - 1];
-
- /* all OMAP1 have IP version 1 register set */
- pdata->rev = OMAP_I2C_IP_VERSION_1;
-
- /* all OMAP1 I2C are implemented like this */
- pdata->flags = OMAP_I2C_FLAG_NO_FIFO |
- OMAP_I2C_FLAG_SIMPLE_CLOCK |
- OMAP_I2C_FLAG_16BIT_DATA_REG |
- OMAP_I2C_FLAG_ALWAYS_ARMXOR_CLK;
-
- /* how the cpu bus is wired up differs for 7xx only */
-
- if (cpu_is_omap7xx())
- pdata->flags |= OMAP_I2C_FLAG_BUS_SHIFT_1;
- else
- pdata->flags |= OMAP_I2C_FLAG_BUS_SHIFT_2;
-
- return platform_device_register(pdev);
-}
-
-
-#ifdef CONFIG_ARCH_OMAP2PLUS
-/*
- * XXX This function is a temporary compatibility wrapper - only
- * needed until the I2C driver can be converted to call
- * omap_pm_set_max_dev_wakeup_lat() and handle a return code.
- */
-static void omap_pm_set_max_mpu_wakeup_lat_compat(struct device *dev, long t)
-{
- omap_pm_set_max_mpu_wakeup_lat(dev, t);
-}
-
-static inline int omap2_i2c_add_bus(int bus_id)
-{
- int l;
- struct omap_hwmod *oh;
- struct platform_device *pdev;
- char oh_name[MAX_OMAP_I2C_HWMOD_NAME_LEN];
- struct omap_i2c_bus_platform_data *pdata;
- struct omap_i2c_dev_attr *dev_attr;
-
- omap2_i2c_mux_pins(bus_id);
-
- l = snprintf(oh_name, MAX_OMAP_I2C_HWMOD_NAME_LEN, "i2c%d", bus_id);
- WARN(l >= MAX_OMAP_I2C_HWMOD_NAME_LEN,
- "String buffer overflow in I2C%d device setup\n", bus_id);
- oh = omap_hwmod_lookup(oh_name);
- if (!oh) {
- pr_err("Could not look up %s\n", oh_name);
- return -EEXIST;
- }
-
- pdata = &i2c_pdata[bus_id - 1];
- /*
- * pass the hwmod class's CPU-specific knowledge of I2C IP revision in
- * use, and functionality implementation flags, up to the OMAP I2C
- * driver via platform data
- */
- pdata->rev = oh->class->rev;
-
- dev_attr = (struct omap_i2c_dev_attr *)oh->dev_attr;
- pdata->flags = dev_attr->flags;
-
- /*
- * When waiting for completion of a i2c transfer, we need to
- * set a wake up latency constraint for the MPU. This is to
- * ensure quick enough wakeup from idle, when transfer
- * completes.
- * Only omap3 has support for constraints
- */
- if (cpu_is_omap34xx())
- pdata->set_mpu_wkup_lat = omap_pm_set_max_mpu_wakeup_lat_compat;
- pdev = omap_device_build(name, bus_id, oh, pdata,
- sizeof(struct omap_i2c_bus_platform_data),
- NULL, 0, 0);
- WARN(IS_ERR(pdev), "Could not build omap_device for %s\n", name);
-
- return PTR_RET(pdev);
-}
-#else
-static inline int omap2_i2c_add_bus(int bus_id)
-{
- return 0;
-}
-#endif
-
-static int __init omap_i2c_add_bus(int bus_id)
-{
- if (cpu_class_is_omap1())
- return omap1_i2c_add_bus(bus_id);
- else
- return omap2_i2c_add_bus(bus_id);
-}
-
/**
* omap_i2c_bus_setup - Process command line options for the I2C bus speed
* @str: String of options
@@ -239,7 +95,7 @@ static int __init omap_register_i2c_bus_cmdline(void)
for (i = 0; i < ARRAY_SIZE(i2c_pdata); i++)
if (i2c_pdata[i].clkrate & OMAP_I2C_CMDLINE_SETUP) {
i2c_pdata[i].clkrate &= ~OMAP_I2C_CMDLINE_SETUP;
- err = omap_i2c_add_bus(i + 1);
+ err = omap_i2c_add_bus(&i2c_pdata[i], i + 1);
if (err)
goto out;
}
@@ -277,5 +133,5 @@ int __init omap_register_i2c_bus(int bus_id, u32 clkrate,
i2c_pdata[bus_id - 1].clkrate &= ~OMAP_I2C_CMDLINE_SETUP;
- return omap_i2c_add_bus(bus_id);
+ return omap_i2c_add_bus(&i2c_pdata[bus_id - 1], bus_id);
}
diff --git a/arch/arm/plat-omap/i2c.h b/arch/arm/plat-omap/i2c.h
new file mode 100644
index 0000000..9ae01a0
--- /dev/null
+++ b/arch/arm/plat-omap/i2c.h
@@ -0,0 +1,46 @@
+/*
+ * Helper module for board specific I2C bus registration
+ *
+ * Copyright (C) 2009 Nokia Corporation.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * version 2 as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef __PLAT_OMAP_I2C_H
+#define __PLAT_OMAP_I2C_H
+
+struct i2c_board_info;
+
+int omap_i2c_add_bus(struct omap_i2c_bus_platform_data *i2c_pdata,
+ int bus_id);
+
+#if defined(CONFIG_I2C_OMAP) || defined(CONFIG_I2C_OMAP_MODULE)
+extern int omap_register_i2c_bus(int bus_id, u32 clkrate,
+ struct i2c_board_info const *info,
+ unsigned len);
+#else
+static inline int omap_register_i2c_bus(int bus_id, u32 clkrate,
+ struct i2c_board_info const *info,
+ unsigned len)
+{
+ return 0;
+}
+#endif
+
+struct omap_hwmod;
+int omap_i2c_reset(struct omap_hwmod *oh);
+
+#endif /* __PLAT_OMAP_I2C_H */
diff --git a/arch/arm/plat-omap/include/plat/common.h b/arch/arm/plat-omap/include/plat/common.h
index d1cb6f5..55c0f8b 100644
--- a/arch/arm/plat-omap/include/plat/common.h
+++ b/arch/arm/plat-omap/include/plat/common.h
@@ -27,7 +27,6 @@
#ifndef __ARCH_ARM_MACH_OMAP_COMMON_H
#define __ARCH_ARM_MACH_OMAP_COMMON_H
-#include <plat/i2c.h>
#include <plat/omap_hwmod.h>
extern int __init omap_init_clocksource_32k(void __iomem *vbase);
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox