* Git tree updated to 2.6.23-rc2
@ 2007-08-06 12:52 Tony Lindgren
2007-08-06 13:26 ` Trilok Soni
` (2 more replies)
0 siblings, 3 replies; 17+ messages in thread
From: Tony Lindgren @ 2007-08-06 12:52 UTC (permalink / raw)
To: linux-omap-open-source
Hi all,
I've just updated our git tree to 2.6.23-rc2. Thanks to Trilok, now
the omap framebuffer code is integrated to the mainline kernel :)
There are quite a few pending patches, I will be looking at them
this week.
Regards,
Tony
^ permalink raw reply [flat|nested] 17+ messages in thread* Re: Git tree updated to 2.6.23-rc2 2007-08-06 12:52 Git tree updated to 2.6.23-rc2 Tony Lindgren @ 2007-08-06 13:26 ` Trilok Soni 2007-08-06 23:17 ` Kyungmin Park 2007-08-06 15:21 ` Pending patches, was: " Dirk Behme 2007-08-10 3:34 ` Kevin Hilman 2 siblings, 1 reply; 17+ messages in thread From: Trilok Soni @ 2007-08-06 13:26 UTC (permalink / raw) To: Tony Lindgren; +Cc: linux-omap-open-source Hi Tony, On 8/6/07, Tony Lindgren <tony@atomide.com> wrote: > Hi all, > > I've just updated our git tree to 2.6.23-rc2. Thanks to Trilok, now > the omap framebuffer code is integrated to the mainline kernel :) > > There are quite a few pending patches, I will be looking at them > this week. Currently mainline kernel for omap2 is broken if you enable menelaus, as pdata structure from menelaus.h is not submitted, and omap mmc also fails to build. Also H4 doesn't boot, as L4 entry is missing from io.c in mainline kernel. -- --Trilok Soni ^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: Git tree updated to 2.6.23-rc2 2007-08-06 13:26 ` Trilok Soni @ 2007-08-06 23:17 ` Kyungmin Park 0 siblings, 0 replies; 17+ messages in thread From: Kyungmin Park @ 2007-08-06 23:17 UTC (permalink / raw) To: 'Trilok Soni', 'Tony Lindgren'; +Cc: linux-omap-open-source Hi Tony, > > > > I've just updated our git tree to 2.6.23-rc2. Thanks to Trilok, now > > the omap framebuffer code is integrated to the mainline kernel :) > > > > There are quite a few pending patches, I will be looking at them > > this week. > > Currently mainline kernel for omap2 is broken if you enable menelaus, > as pdata structure from menelaus.h is not submitted, and omap mmc also > fails to build. > > Also H4 doesn't boot, as L4 entry is missing from io.c in mainline kernel. > Also Apollon can't compile and doesn't boot. There is mismatch between arch/arm/mach-omap2/* and include/asm-arm/arch-omap/*. I'm waiting for merging the omap tree with mainline tree. Thank you, Kyungmin Park ^ permalink raw reply [flat|nested] 17+ messages in thread
* Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-06 12:52 Git tree updated to 2.6.23-rc2 Tony Lindgren 2007-08-06 13:26 ` Trilok Soni @ 2007-08-06 15:21 ` Dirk Behme 2007-08-06 15:42 ` Felipe Balbi ` (2 more replies) 2007-08-10 3:34 ` Kevin Hilman 2 siblings, 3 replies; 17+ messages in thread From: Dirk Behme @ 2007-08-06 15:21 UTC (permalink / raw) To: Tony Lindgren, linux-omap-open-source Tony Lindgren wrote: > I've just updated our git tree to 2.6.23-rc2. :) Thanks! > There are quite a few pending patches, I will be looking at them > this week. Ah, I love collecting patches! ;) I have a loosely, not well maintained and tracked list of pending patches since May ;) . Most probably, most of them are outdated, need update, are already applied etc. Anyhow, maybe it is somehow useful and people can help and comment which are still up to date and should be applied. Then we can ignore all others. If anything is missing, then please a short note as well. With this, I will reset my pending patches list then. Best regards Dirk List of pending OMAP patches: 1. [PATCH] USB: Disable file_storage USB_CONFIG_ATT_WAKEUP 2. [PATCH] musb_hdrc: Implement workaround for tusb3.0 wbus bug rev2 3. [PATCH] musb_hdrc: Add SRP Interface and control it through sysfs 4. [PATCH] Add Sysfs Interface to Control Vbus states 5. [PATCH] Add more Test Modes 6. [PATCH] musb_hdrc: Make HNP work 7. [PATCH] USB: Fix OTG HNP for hub.c 8. [PATCH] HSET tool for the MUSB Controler 9. [PATCH] Make SRP passes in all Electrical Tests 10. [PATCH/RFC] Reduce OMAP2420 active current by ~30% 11. [PATCH 1/1] ARM: OMAP2: TWL4030 RTC driver (v2) 12. Common code for TSC 2101 and 2102 13. [PATCH] Fixing SD response type 6 vs. 1 14. [PATCH 1/12] Add support for the HTC Typhoon, Hurricane and Tornado smartphone 15. [PATCH 2/12] Default config for the HTC Typhoon 16. [PATCH 3/12] Add an option to disable debug UART. 17. [PATCH 4/12] Add OMAP730 clocks. 18. [PATCH 5/12] Add OMAP850 identification. 19. [PATCH 7/12] USB fixes for OMAP730 20. [PATCH 8/12] MMC fixes for OMAP730. 21. [PATCH 9/12] Add support for HTC Typhoon and Hurricane/Tornado LCD panels. 22. [PATCH 10/12] Add support for HTC Typhoon leds. 23. [PATCH 11/12] Add support for keys setting multiple bits in the scan 24. [RFC / Patch] Cleanup DM timer list for OMAP2 and OMAP1 25. [PATCH] Enable Kernel based uncompressing for OMAP3 26. [PATCH] ARM: OMAP2: Add camera block base address definition. 27. [PATCH] VIDEO OMAP: camera_core whitespace cleanup 28. [PATCH] OMAP VIDEO: Convert printk to dev_{dbg,err,info} macros 29. [PATCH] ARM: OMAP: full-retention fix for 2430 30. [PATCH] ARM: OMAP: fix suspend for twl4030 31. [PATCH 1/3] [ARM] OMAP: Adding Support for 2K nand page support for omap2430 32. [PATCH 2/3] OMAP: Adding Support for 2K nand page support for omap2430 33. [PATCH 3/3] [ARM] OMAP: Adding Support for 2K nand page support on omap2430 34. [PATCH 1/8] ARM: OMAP: Fix omap mmu framework for omap1 35. [PATCH 2/8] ARM: OMAP: Fix omap mmu framework for omap1 36. [PATCH 3/8] DSPGW: Remove CONFIG_OMAP_DSP_TASK_MULTIOPEN 37. [PATCH 4/8] Add kfifo_get_to_user to copy data to userland directly 38. [PATCH 5/8] DSPGW: Use kfifo APIs instead of homemade ones 39. [PATCH 6/8] DSPGW: Use ALIGN macro instead of homemade one 40. [PATCH 7/8] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox 41. [PATCH 8/8] ARM: OMAP: Add MMU TWL support for omap1 42. [PATCH] ARM: OMAP: 2430SDP: turn off secondary LCD backlight on boot 43. [PATCH] ARM: OMAP: twl4030: make power_companion_init static 44. - 66. omap2 clock: Bugfixes and cleanups in OMAP2 clock framework 67. [PATCH] MENELAUS: Remove unnecessary pr_err definition 68. [PATCH omap-fixes] ARM: OMAP: cleanup: remove OMAP_MCBSP Kconfig warnings ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-06 15:21 ` Pending patches, was: " Dirk Behme @ 2007-08-06 15:42 ` Felipe Balbi 2007-08-06 23:28 ` Syed Mohammed, Khasim 2007-08-10 10:58 ` Tony Lindgren 2 siblings, 0 replies; 17+ messages in thread From: Felipe Balbi @ 2007-08-06 15:42 UTC (permalink / raw) To: Dirk Behme; +Cc: linux-omap-open-source Hi Dirk, On 8/6/07, Dirk Behme <dirk.behme@googlemail.com> wrote: > Tony Lindgren wrote: > > I've just updated our git tree to 2.6.23-rc2. > > :) Thanks! > > > There are quite a few pending patches, I will be looking at them > > this week. > > Ah, I love collecting patches! ;) > > I have a loosely, not well maintained and tracked list of pending > patches since May ;) . Most probably, most of them are outdated, need > update, are already applied etc. Anyhow, maybe it is somehow useful > and people can help and comment which are still up to date and should > be applied. Then we can ignore all others. If anything is missing, > then please a short note as well. With this, I will reset my pending > patches list then. > > Best regards > > Dirk > > List of pending OMAP patches: > > 1. [PATCH] USB: Disable file_storage USB_CONFIG_ATT_WAKEUP > > 2. [PATCH] musb_hdrc: Implement workaround for tusb3.0 wbus bug rev2 > > 3. [PATCH] musb_hdrc: Add SRP Interface and control it through sysfs > > 4. [PATCH] Add Sysfs Interface to Control Vbus states > > 5. [PATCH] Add more Test Modes > > 6. [PATCH] musb_hdrc: Make HNP work > > 7. [PATCH] USB: Fix OTG HNP for hub.c > > 8. [PATCH] HSET tool for the MUSB Controler Patch "8. [PATCH] HSET tool for the MUSB Controler" shouldn't be applied. This tool should be in userspace. I'm coding this application but need some help. Anybody wanna help me with this?? :-p thanks > > 9. [PATCH] Make SRP passes in all Electrical Tests > > 10. [PATCH/RFC] Reduce OMAP2420 active current by ~30% > > 11. [PATCH 1/1] ARM: OMAP2: TWL4030 RTC driver (v2) > > 12. Common code for TSC 2101 and 2102 > > 13. [PATCH] Fixing SD response type 6 vs. 1 > > 14. [PATCH 1/12] Add support for the HTC Typhoon, Hurricane and > Tornado smartphone > > 15. [PATCH 2/12] Default config for the HTC Typhoon > > 16. [PATCH 3/12] Add an option to disable debug UART. > > 17. [PATCH 4/12] Add OMAP730 clocks. > > 18. [PATCH 5/12] Add OMAP850 identification. > > 19. [PATCH 7/12] USB fixes for OMAP730 > > 20. [PATCH 8/12] MMC fixes for OMAP730. > > 21. [PATCH 9/12] Add support for HTC Typhoon and Hurricane/Tornado LCD > panels. > > 22. [PATCH 10/12] Add support for HTC Typhoon leds. > > 23. [PATCH 11/12] Add support for keys setting multiple bits in the scan > > 24. [RFC / Patch] Cleanup DM timer list for OMAP2 and OMAP1 > > 25. [PATCH] Enable Kernel based uncompressing for OMAP3 > > 26. [PATCH] ARM: OMAP2: Add camera block base address definition. > > 27. [PATCH] VIDEO OMAP: camera_core whitespace cleanup > > 28. [PATCH] OMAP VIDEO: Convert printk to dev_{dbg,err,info} macros > > 29. [PATCH] ARM: OMAP: full-retention fix for 2430 > > 30. [PATCH] ARM: OMAP: fix suspend for twl4030 > > 31. [PATCH 1/3] [ARM] OMAP: Adding Support for 2K nand page support > for omap2430 > > 32. [PATCH 2/3] OMAP: Adding Support for 2K nand page support for omap2430 > > 33. [PATCH 3/3] [ARM] OMAP: Adding Support for 2K nand page support on > omap2430 > > 34. [PATCH 1/8] ARM: OMAP: Fix omap mmu framework for omap1 > > 35. [PATCH 2/8] ARM: OMAP: Fix omap mmu framework for omap1 > > 36. [PATCH 3/8] DSPGW: Remove CONFIG_OMAP_DSP_TASK_MULTIOPEN > > 37. [PATCH 4/8] Add kfifo_get_to_user to copy data to userland directly > > 38. [PATCH 5/8] DSPGW: Use kfifo APIs instead of homemade ones > > 39. [PATCH 6/8] DSPGW: Use ALIGN macro instead of homemade one > > 40. [PATCH 7/8] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox > > 41. [PATCH 8/8] ARM: OMAP: Add MMU TWL support for omap1 > > 42. [PATCH] ARM: OMAP: 2430SDP: turn off secondary LCD backlight on boot > > 43. [PATCH] ARM: OMAP: twl4030: make power_companion_init static > > 44. - 66. omap2 clock: Bugfixes and cleanups in OMAP2 clock framework > > 67. [PATCH] MENELAUS: Remove unnecessary pr_err definition > > 68. [PATCH omap-fixes] ARM: OMAP: cleanup: remove OMAP_MCBSP Kconfig > warnings > > > > > > _______________________________________________ > Linux-omap-open-source mailing list > Linux-omap-open-source@linux.omap.com > http://linux.omap.com/mailman/listinfo/linux-omap-open-source > -- Best Regards, Felipe Balbi felipebalbi@users.sourceforge.net ^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-06 15:21 ` Pending patches, was: " Dirk Behme 2007-08-06 15:42 ` Felipe Balbi @ 2007-08-06 23:28 ` Syed Mohammed, Khasim 2007-08-10 7:08 ` Tony Lindgren 2007-08-10 10:58 ` Tony Lindgren 2 siblings, 1 reply; 17+ messages in thread From: Syed Mohammed, Khasim @ 2007-08-06 23:28 UTC (permalink / raw) To: Dirk Behme, Tony Lindgren, linux-omap-open-source > >Tony Lindgren wrote: >> I've just updated our git tree to 2.6.23-rc2. > >:) Thanks! > >> There are quite a few pending patches, I will be looking at them >> this week. > >25. [PATCH] Enable Kernel based uncompressing for OMAP3 > This patch is not required. There were few more patches from Kevin Hilman and me on TWL4030 I don't see them in list. I just validated 2430 and 3430 booting with this merge both seems to work as expected - thanks Tony. What is the time line we should be expecting for OMAP1/2 patches to be merged to mainline? Like 23 RC-?? Was curious why is OMAP patches taking so long? They were submitted months back. Where as FB and SPI went into main line with in few days ... :( Regards, Khasim ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-06 23:28 ` Syed Mohammed, Khasim @ 2007-08-10 7:08 ` Tony Lindgren 0 siblings, 0 replies; 17+ messages in thread From: Tony Lindgren @ 2007-08-10 7:08 UTC (permalink / raw) To: Syed Mohammed, Khasim; +Cc: linux-omap-open-source Hi, * Syed Mohammed, Khasim <x0khasim@ti.com> [070806 16:29]: > > > > >Tony Lindgren wrote: > >> I've just updated our git tree to 2.6.23-rc2. > > > >:) Thanks! > > > >> There are quite a few pending patches, I will be looking at them > >> this week. > > > >25. [PATCH] Enable Kernel based uncompressing for OMAP3 > > > > This patch is not required. > > There were few more patches from Kevin Hilman and me on TWL4030 I don't see them in list. I only found this: Jul 25 Syed Mohammed, ( 71) [PATCH] To Cleanup TWL-Core driver Any other patches? > I just validated 2430 and 3430 booting with this merge both seems to work as expected - thanks Tony. Great, can you please diff the ARMv7 patches against the mainline? I left some of that out and you may want to manually merge some of the code back. Or maybe they are not needed any longer? Anyways, those changes should be discussed on linux-arm-kernel list. > What is the time line we should be expecting for OMAP1/2 patches to be merged to mainline? Like 23 RC-?? Hopefully we'll get most of the patch pile merged for 2.6.24. I'll redo our pending patches trying to collapse some of them in order to have fewer patches. > Was curious why is OMAP patches taking so long? They were submitted months back. Where as FB and SPI went into main line with in few days ... :( Russell does not have enough time to review the patches, and there are lots of patches. But we'll get them integrated eventually :) Regards, Tony ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-06 15:21 ` Pending patches, was: " Dirk Behme 2007-08-06 15:42 ` Felipe Balbi 2007-08-06 23:28 ` Syed Mohammed, Khasim @ 2007-08-10 10:58 ` Tony Lindgren 2007-08-10 18:47 ` Kevin Hilman 2 siblings, 1 reply; 17+ messages in thread From: Tony Lindgren @ 2007-08-10 10:58 UTC (permalink / raw) To: Dirk Behme; +Cc: linux-omap-open-source [-- Attachment #1: Type: text/plain, Size: 1028 bytes --] * Dirk Behme <dirk.behme@googlemail.com> [070807 06:44]: > Tony Lindgren wrote: >> I've just updated our git tree to 2.6.23-rc2. > > :) Thanks! > >> There are quite a few pending patches, I will be looking at them >> this week. > > Ah, I love collecting patches! ;) > > I have a loosely, not well maintained and tracked list of pending patches > since May ;) . Most probably, most of them are outdated, need update, are > already applied etc. Anyhow, maybe it is somehow useful and people can help > and comment which are still up to date and should be applied. Then we can > ignore all others. If anything is missing, then please a short note as > well. With this, I will reset my pending patches list then. Here are my edits to your list. I've removed the numbering as I was moving them around grouping them. I've also added some more patches I had in my inbox. I guess we're pretty close up to date now with pending patches :) Please everybody check the list below and refresh and comment as needed. Regards, Tony [-- Attachment #2: pending-2007-08-10.txt --] [-- Type: text/plain, Size: 5292 bytes --] List of pending OMAP patches: 1. PATCHES APPLIED 2007-08-10 Common code for TSC 2101 and 2102 [PATCH] ARM: OMAP: fix suspend for twl4030 [PATCH] ARM: OMAP: 2430SDP: turn off secondary LCD backlight on boot [PATCH] ARM: OMAP: twl4030: make power_companion_init static [PATCH] To Cleanup TWL-Core driver [PATCH] ARM: OMAP: Put LCD drivers back to Makefile. [PATCH] ARM: OMAP: Remove unnecessary N800 PM board specific file [PATCH omap-fixes] ARM: OMAP: cleanup: remove OMAP_MCBSP Kconfig warnings [PATCH] ARM: OMAP: full-retention fix for 2430 [PATCH] VIDEO OMAP: camera_core whitespace cleanup [PATCH] OMAP VIDEO: Convert printk to dev_{dbg,err,info} macro [PATCH] ARM: OMAP2: Add camera block base address definition. [PATCH 1/3] [ARM] OMAP: Adding Support for 2K nand page support for omap2430 All patches above applied. [PATCH 1/8] ARM: OMAP: Fix omap mmu framework for omap1 [PATCH 2/8] ARM: OMAP: Fix omap mmu framework for omap1 [PATCH 3/8] DSPGW: Remove CONFIG_OMAP_DSP_TASK_MULTIOPEN [PATCH 4/8] Add kfifo_get_to_user to copy data to userland directly [PATCH 5/8] DSPGW: Use kfifo APIs instead of homemade ones [PATCH 6/8] DSPGW: Use ALIGN macro instead of homemade one [PATCH 7/8] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox [PATCH 8/8] ARM: OMAP: Add MMU TWL support for omap1 Above series applied. Kfifo patches should be discus sed on LKML for integration. [PATCH 00/22] omap2 clock: Bugfixes and cleanups in OMAP2 clock framework [PATCH 01/22] omap2 clock: drop meaningless RATE_CKCTLs [PATCH 02/22] omap2 clock: fix incorrect rate calculation for osc_ck, sys_ck [PATCH 03/22] omap2 clock: fix clksel divisor bug [PATCH 04/22] omap2 clock: vlynq_fck recalc should be clksel, not followparent [PATCH 05/22] omap2 clock: fix CodingStyle issues [PATCH 06/22] omap2 clock: drop unnecessary variable in omap2_clk_round_rate() [PATCH 07/22] omap2 clock: get rid of sleep_ck [PATCH 08/22] omap2 clock: clean up dss2_fck clock flags [PATCH 09/22] omap2 clock: move SDRC-related code from clock.c to memory.c [PATCH 10/22] omap2 clock: use symbolic constants in clock.h rate_offset/src_offset fields [PATCH 11/22] omap2 clock: fix some clocks incorrectly marked as present on OMAP2430 [PATCH 12/22] omap2 clock: vlynq_fck is missing clksel divider code [PATCH 13/22] omap2 clock: convert PARENT_CONTROLS_CLOCK into a clock flag [PATCH 14/22] omap2 clock: omap2 clock.c: Consolidate wait-for-lock code [PATCH 15/22] omap2 clock: return -EINVAL if no clock enable code; fix dpll_ck enable [PATCH 16/22] omap2 clock: From: Paul Walmsley <paul@pwsan.com> Subject: [PATCH 17/22] omap2 clock: Cleanup in clksel-related code; add sys_clkout2 divisor handling [PATCH 18/22] omap2 clock: Use symbolic constants in clock.c [PATCH 19/22] omap2 clock: use dedicated omap2_dpll_recalc() for DPLL recalc func [PATCH 20/22] omap2 clock: add fixed divisor clock code [PATCH 21/22] omap2 clock: remove fixed rate from mdm_osc_ck [PATCH 22/22] omap2 clock: get rid of omap2_followparent_recalc() Above series applied. 2. PATCHES ALREADY APPLIED EARLIER OR OBSOLETE [PATCH] USB: Disable file_storage USB_CONFIG_ATT_WAKEUP This has already been committed via linux-usb-devel list. [PATCH] musb_hdrc: Implement workaround for tusb3.0 wbus bug rev2 [PATCH] musb_hdrc: Add SRP Interface and control it through sysfs [PATCH] Add Sysfs Interface to Control Vbus states [PATCH] Add more Test Modes [PATCH] musb_hdrc: Make HNP work [PATCH] USB: Fix OTG HNP for hub.c Patches above have already been committed or are obsolete. [PATCH] HSET tool for the MUSB Controler Will be in userspace, Felipe is working on it. [PATCH] Make SRP passes in all Electrical Tests Already committed. [PATCH] Fixing SD response type 6 vs. 1 Already applied via LKML. [PATCH] Enable Kernel based uncompressing for OMAP3 Not needed [PATCH] ARM: OMAP: silence Kconfig warnings for non-ARM build Replaced by another patch [RFC / Patch] Cleanup DM timer list for OMAP2 and OMAP1 Already applied in updated form [PATCH 1/1] ARM: OMAP2: TWL4030 RTC driver (v2) Already applied, please verify. 3. PATCHES NEEDING UPDATING [PATCH/RFC] Reduce OMAP2420 active current by ~30% Needs to be updated to use new PRCM framework. [PATCH] MENELAUS: Remove unnecessary pr_err definition Needs to be refreshed. [PATCH 1/12] Add support for the HTC Typhoon, Hurricane and Tornado smartphone [PATCH 2/12] Default config for the HTC Typhoon [PATCH 3/12] Add an option to disable debug UART. [PATCH 4/12] Add OMAP730 clocks. [PATCH 5/12] Add OMAP850 identification. [PATCH 7/12] USB fixes for OMAP730 [PATCH 8/12] MMC fixes for OMAP730. [PATCH 9/12] Add support for HTC Typhoon and Hurricane/Tornado LCD panels. [PATCH 10/12] Add support for HTC Typhoon leds. [PATCH 11/12] Add support for keys setting multiple bits in the scan I believe we are still waiting an update on this series? [PATCH] ARM: OMAP: Fix building with CONFIG_OMAP_GPIO_SWITCH off. This needs to have extern prototypes moved to *.h files [PATCH 2/3] OMAP: Adding Support for 2K nand page support for omap2430 [PATCH 3/3] [ARM] OMAP: Adding Support for 2K nand page support on omap2430 Maybe should be merged with omap-nand-flash.c? 4. PATCHES PENDING At least MMC multislot support patches are still pending. Anybody have more pending patches in mind? [-- Attachment #3: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-10 10:58 ` Tony Lindgren @ 2007-08-10 18:47 ` Kevin Hilman 2007-08-10 20:15 ` Woodruff, Richard 0 siblings, 1 reply; 17+ messages in thread From: Kevin Hilman @ 2007-08-10 18:47 UTC (permalink / raw) To: Tony Lindgren; +Cc: linux-omap-open-source Tony Lindgren wrote: > * Dirk Behme <dirk.behme@googlemail.com> [070807 06:44]: >> Tony Lindgren wrote: >>> I've just updated our git tree to 2.6.23-rc2. >> :) Thanks! >> >>> There are quite a few pending patches, I will be looking at them >>> this week. >> Ah, I love collecting patches! ;) >> >> I have a loosely, not well maintained and tracked list of pending patches >> since May ;) . Most probably, most of them are outdated, need update, are >> already applied etc. Anyhow, maybe it is somehow useful and people can help >> and comment which are still up to date and should be applied. Then we can >> ignore all others. If anything is missing, then please a short note as >> well. With this, I will reset my pending patches list then. > > Here are my edits to your list. I've removed the numbering as I was > moving them around grouping them. I've also added some more patches > I had in my inbox. I guess we're pretty close up to date now with > pending patches :) > > Please everybody check the list below and refresh and comment as needed. > > Regards, > > Tony > > > ------------------------------------------------------------------------ > > List of pending OMAP patches: > > 1. PATCHES APPLIED 2007-08-10 > > Common code for TSC 2101 and 2102 > [PATCH] ARM: OMAP: fix suspend for twl4030 > [PATCH] ARM: OMAP: 2430SDP: turn off secondary LCD backlight on boot > [PATCH] ARM: OMAP: twl4030: make power_companion_init static > [PATCH] To Cleanup TWL-Core driver > [PATCH] ARM: OMAP: Put LCD drivers back to Makefile. > [PATCH] ARM: OMAP: Remove unnecessary N800 PM board specific file > [PATCH omap-fixes] ARM: OMAP: cleanup: remove OMAP_MCBSP Kconfig warnings > [PATCH] ARM: OMAP: full-retention fix for 2430 > [PATCH] VIDEO OMAP: camera_core whitespace cleanup > [PATCH] OMAP VIDEO: Convert printk to dev_{dbg,err,info} macro > [PATCH] ARM: OMAP2: Add camera block base address definition. > [PATCH 1/3] [ARM] OMAP: Adding Support for 2K nand page support for omap2430 Can you undo this 1/3 nand patch? 2430 doesn't build without the other 2 patches due to some missing header (asm/arch/nand.h) that come with the later patches. Thanks, Kevin > All patches above applied. > > [PATCH 1/8] ARM: OMAP: Fix omap mmu framework for omap1 > [PATCH 2/8] ARM: OMAP: Fix omap mmu framework for omap1 > [PATCH 3/8] DSPGW: Remove CONFIG_OMAP_DSP_TASK_MULTIOPEN > [PATCH 4/8] Add kfifo_get_to_user to copy data to userland directly > [PATCH 5/8] DSPGW: Use kfifo APIs instead of homemade ones > [PATCH 6/8] DSPGW: Use ALIGN macro instead of homemade one > [PATCH 7/8] ARM: OMAP: Fix Unbalanced enable for IRQ in omap mailbox > [PATCH 8/8] ARM: OMAP: Add MMU TWL support for omap1 > Above series applied. Kfifo patches should be discus > sed on LKML for > integration. > > [PATCH 00/22] omap2 clock: Bugfixes and cleanups in OMAP2 clock framework > [PATCH 01/22] omap2 clock: drop meaningless RATE_CKCTLs > [PATCH 02/22] omap2 clock: fix incorrect rate calculation for osc_ck, sys_ck > [PATCH 03/22] omap2 clock: fix clksel divisor bug > [PATCH 04/22] omap2 clock: vlynq_fck recalc should be clksel, not followparent > [PATCH 05/22] omap2 clock: fix CodingStyle issues > [PATCH 06/22] omap2 clock: drop unnecessary variable in omap2_clk_round_rate() > [PATCH 07/22] omap2 clock: get rid of sleep_ck > [PATCH 08/22] omap2 clock: clean up dss2_fck clock flags > [PATCH 09/22] omap2 clock: move SDRC-related code from clock.c to memory.c > [PATCH 10/22] omap2 clock: use symbolic constants in clock.h rate_offset/src_offset fields > [PATCH 11/22] omap2 clock: fix some clocks incorrectly marked as present on OMAP2430 > [PATCH 12/22] omap2 clock: vlynq_fck is missing clksel divider code > [PATCH 13/22] omap2 clock: convert PARENT_CONTROLS_CLOCK into a clock flag > [PATCH 14/22] omap2 clock: omap2 clock.c: Consolidate wait-for-lock code > [PATCH 15/22] omap2 clock: return -EINVAL if no clock enable code; fix dpll_ck enable > [PATCH 16/22] omap2 clock: From: Paul Walmsley <paul@pwsan.com> Subject: > [PATCH 17/22] omap2 clock: Cleanup in clksel-related code; add sys_clkout2 divisor handling > [PATCH 18/22] omap2 clock: Use symbolic constants in clock.c > [PATCH 19/22] omap2 clock: use dedicated omap2_dpll_recalc() for DPLL recalc func > [PATCH 20/22] omap2 clock: add fixed divisor clock code > [PATCH 21/22] omap2 clock: remove fixed rate from mdm_osc_ck > [PATCH 22/22] omap2 clock: get rid of omap2_followparent_recalc() > Above series applied. > > > 2. PATCHES ALREADY APPLIED EARLIER OR OBSOLETE > > [PATCH] USB: Disable file_storage USB_CONFIG_ATT_WAKEUP > This has already been committed via linux-usb-devel list. > > [PATCH] musb_hdrc: Implement workaround for tusb3.0 wbus bug rev2 > [PATCH] musb_hdrc: Add SRP Interface and control it through sysfs > [PATCH] Add Sysfs Interface to Control Vbus states > [PATCH] Add more Test Modes > [PATCH] musb_hdrc: Make HNP work > [PATCH] USB: Fix OTG HNP for hub.c > Patches above have already been committed or are obsolete. > > [PATCH] HSET tool for the MUSB Controler > Will be in userspace, Felipe is working on it. > > [PATCH] Make SRP passes in all Electrical Tests > Already committed. > > [PATCH] Fixing SD response type 6 vs. 1 > Already applied via LKML. > > [PATCH] Enable Kernel based uncompressing for OMAP3 > Not needed > > [PATCH] ARM: OMAP: silence Kconfig warnings for non-ARM build > Replaced by another patch > > [RFC / Patch] Cleanup DM timer list for OMAP2 and OMAP1 > Already applied in updated form > > [PATCH 1/1] ARM: OMAP2: TWL4030 RTC driver (v2) > Already applied, please verify. > > > 3. PATCHES NEEDING UPDATING > > [PATCH/RFC] Reduce OMAP2420 active current by ~30% > Needs to be updated to use new PRCM framework. > > [PATCH] MENELAUS: Remove unnecessary pr_err definition > Needs to be refreshed. > > [PATCH 1/12] Add support for the HTC Typhoon, Hurricane and Tornado smartphone > [PATCH 2/12] Default config for the HTC Typhoon > [PATCH 3/12] Add an option to disable debug UART. > [PATCH 4/12] Add OMAP730 clocks. > [PATCH 5/12] Add OMAP850 identification. > [PATCH 7/12] USB fixes for OMAP730 > [PATCH 8/12] MMC fixes for OMAP730. > [PATCH 9/12] Add support for HTC Typhoon and Hurricane/Tornado LCD panels. > [PATCH 10/12] Add support for HTC Typhoon leds. > [PATCH 11/12] Add support for keys setting multiple bits in the scan > I believe we are still waiting an update on this series? > > [PATCH] ARM: OMAP: Fix building with CONFIG_OMAP_GPIO_SWITCH off. > This needs to have extern prototypes moved to *.h files > > [PATCH 2/3] OMAP: Adding Support for 2K nand page support for omap2430 > [PATCH 3/3] [ARM] OMAP: Adding Support for 2K nand page support on omap2430 > Maybe should be merged with omap-nand-flash.c? > > 4. PATCHES PENDING > > At least MMC multislot support patches are still pending. > > Anybody have more pending patches in mind? > > > ------------------------------------------------------------------------ > > _______________________________________________ > Linux-omap-open-source mailing list > Linux-omap-open-source@linux.omap.com > http://linux.omap.com/mailman/listinfo/linux-omap-open-source ^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-10 18:47 ` Kevin Hilman @ 2007-08-10 20:15 ` Woodruff, Richard 2007-08-13 9:06 ` Tony Lindgren 0 siblings, 1 reply; 17+ messages in thread From: Woodruff, Richard @ 2007-08-10 20:15 UTC (permalink / raw) To: Kevin Hilman, Tony Lindgren; +Cc: linux-omap-open-source [-- Attachment #1: Type: text/plain, Size: 602 bytes --] > Can you undo this 1/3 nand patch? 2430 doesn't build without the other > 2 patches due to some missing header (asm/arch/nand.h) that come with > the later patches. Kevin for compiles sake I added the missing patches instead of removing. There were a couple more fixes which I also added to get it booting. - update defconfig to have vfp - add missing TWL patch - add in micron path - fix clock build error - turn back on by default omap_clocks (we use this at run time) Strongly, the MPU is starting at 165MHz instead of 330... Some new bug I suppose. Regards, Richard W. [-- Attachment #2: git_compile_fix.diff --] [-- Type: application/octet-stream, Size: 36633 bytes --] diff --git a/arch/arm/configs/omap_2430sdp_defconfig b/arch/arm/configs/omap_2430sdp_defconfig index b9dfb0e..91ec24a 100644 --- a/arch/arm/configs/omap_2430sdp_defconfig +++ b/arch/arm/configs/omap_2430sdp_defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.22-rc2-omap1 -# Fri May 25 15:47:55 2007 +# Linux kernel version: 2.6.23-rc2-omap1 +# Fri Aug 10 15:04:55 2007 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -26,27 +26,22 @@ CONFIG_VECTORS_BASE=0xffff0000 CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # -# Code maturity level options +# General setup # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 - -# -# General setup -# CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y CONFIG_SWAP=y CONFIG_SYSVIPC=y -# CONFIG_IPC_NS is not set CONFIG_SYSVIPC_SYSCTL=y # CONFIG_POSIX_MQUEUE is not set CONFIG_BSD_PROCESS_ACCT=y # CONFIG_BSD_PROCESS_ACCT_V3 is not set # CONFIG_TASKSTATS is not set -# CONFIG_UTS_NS is not set +# CONFIG_USER_NS is not set # CONFIG_AUDIT is not set # CONFIG_IKCONFIG is not set CONFIG_LOG_BUF_SHIFT=14 @@ -81,24 +76,17 @@ CONFIG_SLAB=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 - -# -# Loadable module support -# CONFIG_MODULES=y CONFIG_MODULE_UNLOAD=y # CONFIG_MODULE_FORCE_UNLOAD is not set CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y CONFIG_KMOD=y - -# -# Block layer -# CONFIG_BLOCK=y # CONFIG_LBD is not set # CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_LSF is not set +# CONFIG_BLK_DEV_BSG is not set # # IO Schedulers @@ -139,6 +127,7 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" # CONFIG_ARCH_L7200 is not set # CONFIG_ARCH_KS8695 is not set # CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_MXC is not set # CONFIG_ARCH_PNX4008 is not set # CONFIG_ARCH_PXA is not set # CONFIG_ARCH_RPC is not set @@ -154,6 +143,7 @@ CONFIG_ARCH_OMAP=y # # CONFIG_ARCH_OMAP1 is not set CONFIG_ARCH_OMAP2=y +# CONFIG_ARCH_OMAP3 is not set # # OMAP Feature Selections @@ -193,9 +183,18 @@ CONFIG_ARCH_OMAP2430=y # CONFIG_MACH_NOKIA_N800 is not set # CONFIG_MACH_OMAP_H4 is not set # CONFIG_MACH_OMAP_APOLLON is not set +# CONFIG_MACH_OMAP_APOLLON_PLUS is not set CONFIG_MACH_OMAP_2430SDP=y # +# Boot options +# + +# +# Power management +# + +# # Processor Type # CONFIG_CPU_32=y @@ -203,6 +202,7 @@ CONFIG_CPU_V6=y # CONFIG_CPU_32v6K is not set CONFIG_CPU_32v6=y CONFIG_CPU_ABRT_EV6=y +CONFIG_CPU_PABRT_NOIFAR=y CONFIG_CPU_CACHE_V6=y CONFIG_CPU_CACHE_VIPT=y CONFIG_CPU_COPY_V6=y @@ -217,13 +217,13 @@ CONFIG_CPU_CP15_MMU=y CONFIG_ARM_THUMB=y # CONFIG_CPU_ICACHE_DISABLE is not set # CONFIG_CPU_DCACHE_DISABLE is not set -# CONFIG_CPU_DCACHE_WRITETHROUGH is not set # CONFIG_CPU_BPREDICT_DISABLE is not set # CONFIG_OUTER_CACHE is not set # # Bus support # +# CONFIG_PCI_SYSCALL is not set # CONFIG_ARCH_SUPPORTS_MSI is not set # @@ -252,6 +252,8 @@ CONFIG_FLAT_NODE_MEM_MAP=y CONFIG_SPLIT_PTLOCK_CPUS=4 # CONFIG_RESOURCES_64BIT is not set CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y # CONFIG_LEDS is not set CONFIG_ALIGNMENT_TRAP=y @@ -279,7 +281,7 @@ CONFIG_CMDLINE="root=/dev/ram0 rw console=ttyS0,115200n8 initrd=0x80600000,8M ra CONFIG_FPE_NWFPE=y # CONFIG_FPE_NWFPE_XP is not set # CONFIG_FPE_FASTFPE is not set -# CONFIG_VFP is not set +CONFIG_VFP=y # # Userspace binary formats @@ -294,7 +296,8 @@ CONFIG_BINFMT_MISC=y CONFIG_PM=y # CONFIG_PM_LEGACY is not set # CONFIG_PM_DEBUG is not set -# CONFIG_PM_SYSFS_DEPRECATED is not set +CONFIG_PM_SLEEP=y +CONFIG_SUSPEND=y # CONFIG_APM_EMULATION is not set # @@ -345,20 +348,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_INET6_TUNNEL is not set # CONFIG_NETWORK_SECMARK is not set # CONFIG_NETFILTER is not set - -# -# DCCP Configuration (EXPERIMENTAL) -# # CONFIG_IP_DCCP is not set - -# -# SCTP Configuration (EXPERIMENTAL) -# # CONFIG_IP_SCTP is not set - -# -# TIPC Configuration (EXPERIMENTAL) -# # CONFIG_TIPC is not set # CONFIG_ATM is not set # CONFIG_BRIDGE is not set @@ -394,6 +385,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic" # CONFIG_MAC80211 is not set # CONFIG_IEEE80211 is not set # CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set # # Device Drivers @@ -408,10 +400,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set - -# -# Connector - unified userspace <-> kernelspace linker -# # CONFIG_CONNECTOR is not set CONFIG_MTD=y # CONFIG_MTD_DEBUG is not set @@ -494,20 +482,8 @@ CONFIG_MTD_ONENAND_OMAP2=y # UBI - Unsorted block images # # CONFIG_MTD_UBI is not set - -# -# Parallel port support -# # CONFIG_PARPORT is not set - -# -# Plug and Play support -# -# CONFIG_PNPACPI is not set - -# -# Block devices -# +CONFIG_BLK_DEV=y # CONFIG_BLK_DEV_COW_COMMON is not set CONFIG_BLK_DEV_LOOP=y # CONFIG_BLK_DEV_CRYPTOLOOP is not set @@ -525,6 +501,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 # # CONFIG_RAID_ATTRS is not set CONFIG_SCSI=m +CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set CONFIG_SCSI_PROC_FS=y @@ -554,47 +531,29 @@ CONFIG_SCSI_WAIT_SCAN=m # CONFIG_SCSI_SPI_ATTRS is not set # CONFIG_SCSI_FC_ATTRS is not set # CONFIG_SCSI_ISCSI_ATTRS is not set -# CONFIG_SCSI_SAS_ATTRS is not set # CONFIG_SCSI_SAS_LIBSAS is not set - -# -# SCSI low-level drivers -# +CONFIG_SCSI_LOWLEVEL=y # CONFIG_ISCSI_TCP is not set # CONFIG_SCSI_DEBUG is not set -# CONFIG_SCSI_ESP_CORE is not set # CONFIG_ATA is not set - -# -# Multi-device support (RAID and LVM) -# # CONFIG_MD is not set - -# -# Network device support -# CONFIG_NETDEVICES=y +# CONFIG_NETDEVICES_MULTIQUEUE is not set # CONFIG_DUMMY is not set # CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set # CONFIG_EQUALIZER is not set # CONFIG_TUN is not set # CONFIG_PHYLIB is not set - -# -# Ethernet (10 or 100Mbit) -# CONFIG_NET_ETHERNET=y CONFIG_MII=y +# CONFIG_AX88796 is not set CONFIG_SMC91X=y # CONFIG_DM9000 is not set CONFIG_NETDEV_1000=y CONFIG_NETDEV_10000=y # -# Token Ring devices -# - -# # Wireless LAN # # CONFIG_WLAN_PRE80211 is not set @@ -616,10 +575,6 @@ CONFIG_NETDEV_10000=y # CONFIG_NETCONSOLE is not set # CONFIG_NETPOLL is not set # CONFIG_NET_POLL_CONTROLLER is not set - -# -# ISDN subsystem -# # CONFIG_ISDN is not set # @@ -627,6 +582,7 @@ CONFIG_NETDEV_10000=y # CONFIG_INPUT=y # CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_POLLDEV is not set # # Userland interfaces @@ -655,6 +611,7 @@ CONFIG_KEYBOARD_TWL4030=y # CONFIG_INPUT_TABLET is not set CONFIG_INPUT_TOUCHSCREEN=y CONFIG_TOUCHSCREEN_ADS7846=y +# CONFIG_TOUCHSCREEN_FUJITSU is not set # CONFIG_TOUCHSCREEN_GUNZE is not set # CONFIG_TOUCHSCREEN_ELO is not set # CONFIG_TOUCHSCREEN_MTOUCH is not set @@ -664,6 +621,7 @@ CONFIG_TOUCHSCREEN_ADS7846=y # CONFIG_TOUCHSCREEN_TOUCHWIN is not set # CONFIG_TOUCHSCREEN_UCB1400 is not set # CONFIG_TOUCHSCREEN_TSC2102 is not set +# CONFIG_TOUCHSCREEN_TSC210X is not set # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set # CONFIG_INPUT_MISC is not set @@ -702,10 +660,6 @@ CONFIG_SERIAL_CORE=y CONFIG_SERIAL_CORE_CONSOLE=y CONFIG_UNIX98_PTYS=y # CONFIG_LEGACY_PTYS is not set - -# -# IPMI -# # CONFIG_IPMI_HANDLER is not set CONFIG_WATCHDOG=y CONFIG_WATCHDOG_NOWAYOUT=y @@ -725,10 +679,6 @@ CONFIG_HW_RANDOM_OMAP=y # CONFIG_NVRAM is not set # CONFIG_R3964 is not set # CONFIG_RAW_DRIVER is not set - -# -# TPM devices -# # CONFIG_TCG_TPM is not set CONFIG_I2C=y CONFIG_I2C_BOARDINFO=y @@ -749,6 +699,7 @@ CONFIG_I2C_CHARDEV=y CONFIG_I2C_OMAP=y # CONFIG_I2C_PARPORT_LIGHT is not set # CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_TAOS_EVM is not set # CONFIG_I2C_STUB is not set # CONFIG_I2C_TINY_USB is not set @@ -757,6 +708,7 @@ CONFIG_I2C_OMAP=y # # CONFIG_SENSORS_DS1337 is not set # CONFIG_SENSORS_DS1374 is not set +# CONFIG_DS1682 is not set # CONFIG_SENSORS_EEPROM is not set # CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCA9539 is not set @@ -768,6 +720,7 @@ CONFIG_I2C_OMAP=y CONFIG_TWL4030_CORE=y CONFIG_TWL4030_GPIO=y # CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set @@ -792,39 +745,22 @@ CONFIG_SPI_MASTER=y # CONFIG_SPI_AT25 is not set # CONFIG_SPI_TSC2101 is not set # CONFIG_SPI_TSC2102 is not set +# CONFIG_SPI_TSC210X is not set # CONFIG_SPI_TSC2301 is not set # CONFIG_SPI_SPIDEV is not set - -# -# Dallas's 1-wire bus -# +# CONFIG_SPI_TLE62X0 is not set # CONFIG_W1 is not set # CONFIG_HWMON is not set - -# -# Misc devices -# -# CONFIG_BLINK is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set # # Multifunction device drivers # # CONFIG_MFD_SM501 is not set - -# -# LED devices -# # CONFIG_NEW_LEDS is not set # -# LED drivers -# - -# -# LED Triggers -# - -# # Multimedia devices # # CONFIG_VIDEO_DEV is not set @@ -842,6 +778,7 @@ CONFIG_DAB=y # # CONFIG_DISPLAY_SUPPORT is not set # CONFIG_VGASTATE is not set +CONFIG_VIDEO_OUTPUT_CONTROL=m CONFIG_FB=y CONFIG_FIRMWARE_EDID=y # CONFIG_FB_DDC is not set @@ -875,6 +812,7 @@ CONFIG_FB_OMAP_CONSISTENT_DMA_SIZE=2 # CONFIG_VGA_CONSOLE is not set CONFIG_DUMMY_CONSOLE=y CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set # CONFIG_FONTS is not set CONFIG_FONT_8x8=y @@ -888,10 +826,7 @@ CONFIG_LOGO_LINUX_CLUT224=y # Sound # # CONFIG_SOUND is not set - -# -# HID Devices -# +CONFIG_HID_SUPPORT=y CONFIG_HID=y # CONFIG_HID_DEBUG is not set @@ -908,10 +843,7 @@ CONFIG_USB_HID=m # # CONFIG_USB_KBD is not set # CONFIG_USB_MOUSE is not set - -# -# USB support -# +CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y CONFIG_USB_ARCH_HAS_OHCI=y # CONFIG_USB_ARCH_HAS_EHCI is not set @@ -925,6 +857,7 @@ CONFIG_USB=m # CONFIG_USB_DEVICE_CLASS is not set # CONFIG_USB_DYNAMIC_MINORS is not set CONFIG_USB_SUSPEND=y +# CONFIG_USB_PERSIST is not set CONFIG_USB_OTG=y CONFIG_USB_OTG_WHITELIST=y # CONFIG_USB_OTG_BLACKLIST_HUB is not set @@ -935,6 +868,7 @@ CONFIG_USB_OTG_WHITELIST=y # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_OHCI_HCD is not set # CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_MUSB_HDRC=m CONFIG_USB_MUSB_SOC=y @@ -1023,14 +957,18 @@ CONFIG_USB_MON=y # USB Gadget Support # CONFIG_USB_GADGET=m +# CONFIG_USB_GADGET_DEBUG is not set CONFIG_USB_GADGET_DEBUG_FILES=y CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AMD5536UDC is not set # CONFIG_USB_GADGET_FSL_USB2 is not set # CONFIG_USB_GADGET_NET2280 is not set # CONFIG_USB_GADGET_PXA2XX is not set +# CONFIG_USB_GADGET_M66592 is not set # CONFIG_USB_GADGET_GOKU is not set # CONFIG_USB_GADGET_LH7A40X is not set # CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_S3C2410 is not set # CONFIG_USB_GADGET_AT91 is not set # CONFIG_USB_GADGET_DUMMY_HCD is not set CONFIG_USB_GADGET_DUALSPEED=y @@ -1051,17 +989,27 @@ CONFIG_MMC=y # MMC/SD Card Drivers # CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_BOUNCE=y # # MMC/SD Host Controller Drivers # CONFIG_MMC_OMAP=y +CONFIG_RTC_LIB=y +# CONFIG_RTC_CLASS is not set # -# Real Time Clock +# DMA Engine support +# +# CONFIG_DMA_ENGINE is not set + +# +# DMA Clients +# + +# +# DMA Devices # -CONFIG_RTC_LIB=y -# CONFIG_RTC_CLASS is not set # # CBUS support @@ -1177,7 +1125,6 @@ CONFIG_SUNRPC=y # CONFIG_NCP_FS is not set # CONFIG_CODA_FS is not set # CONFIG_AFS_FS is not set -# CONFIG_9P_FS is not set # # Partition Types @@ -1267,6 +1214,7 @@ CONFIG_MAGIC_SYSRQ=y CONFIG_DEBUG_KERNEL=y # CONFIG_DEBUG_SHIRQ is not set CONFIG_DETECT_SOFTLOCKUP=y +CONFIG_SCHED_DEBUG=y # CONFIG_SCHEDSTATS is not set CONFIG_TIMER_STATS=y # CONFIG_DEBUG_SLAB is not set @@ -1277,6 +1225,7 @@ CONFIG_DEBUG_PREEMPT=y CONFIG_DEBUG_MUTEXES=y # CONFIG_DEBUG_LOCK_ALLOC is not set # CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set # CONFIG_DEBUG_SPINLOCK_SLEEP is not set # CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set # CONFIG_DEBUG_KOBJECT is not set @@ -1297,10 +1246,6 @@ CONFIG_FORCED_INLINING=y # # CONFIG_KEYS is not set # CONFIG_SECURITY is not set - -# -# Cryptographic options -# CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_BLKCIPHER=y @@ -1338,10 +1283,7 @@ CONFIG_CRYPTO_DES=y # CONFIG_CRYPTO_CRC32C is not set # CONFIG_CRYPTO_CAMELLIA is not set # CONFIG_CRYPTO_TEST is not set - -# -# Hardware crypto devices -# +CONFIG_CRYPTO_HW=y # # Library routines @@ -1351,6 +1293,7 @@ CONFIG_CRC_CCITT=y # CONFIG_CRC16 is not set # CONFIG_CRC_ITU_T is not set CONFIG_CRC32=y +# CONFIG_CRC7 is not set CONFIG_LIBCRC32C=y CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y diff --git a/arch/arm/mach-omap2/Makefile b/arch/arm/mach-omap2/Makefile index cc0fae2..f7b2e20 100644 diff --git a/arch/arm/plat-omap/clock.c b/arch/arm/plat-omap/clock.c index 20a789d..86b34ee 100644 --- a/arch/arm/plat-omap/clock.c +++ b/arch/arm/plat-omap/clock.c @@ -405,7 +405,7 @@ int __init clk_init(struct clk_functions * custom_clocks) return 0; } -#if defined(CONFIG_PM_DEBUG) && defined(CONFIG_PROC_FS) +#if defined(CONFIG_PROC_FS) #include <linux/proc_fs.h> #include <linux/seq_file.h> diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 295a568..31f646f 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -69,6 +69,12 @@ config MTD_NAND_AMS_DELTA help Support for NAND flash on Amstrad E3 (Delta). +config MTD_NAND_OMAP2 + tristate "NAND Flash device on OMAP 2420H4/2430SDP boards" + depends on ARM && ARCH_OMAP2 && MTD_NAND + help + Support for NAND flash on Texas Instruments 2430SDP/2420H4 platforms. + config MTD_NAND_OMAP tristate "NAND Flash device on OMAP H3/H2/P2 boards" depends on ARM && ARCH_OMAP1 && MTD_NAND && (MACH_OMAP_H2 || MACH_OMAP_H3 || MACH_OMAP_PERSEUS2) diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile index f9a1f6b..1539c98 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile @@ -24,6 +24,7 @@ obj-$(CONFIG_MTD_NAND_NANDSIM) += nandsim.o obj-$(CONFIG_MTD_NAND_CS553X) += cs553x_nand.o obj-$(CONFIG_MTD_NAND_NDFC) += ndfc.o obj-$(CONFIG_MTD_NAND_OMAP) += omap-nand-flash.o +obj-$(CONFIG_MTD_NAND_OMAP2) += omap2.o obj-$(CONFIG_MTD_NAND_OMAP_HW) += omap-hw.o obj-$(CONFIG_MTD_NAND_AT91) += at91_nand.o obj-$(CONFIG_MTD_NAND_CM_X270) += cmx270_nand.o diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c new file mode 100644 index 0000000..dccdb71 --- /dev/null +++ b/drivers/mtd/nand/omap2.c @@ -0,0 +1,624 @@ +/* + * drivers/mtd/nand/omap2.c + * + * Copyright (c) 2004 Texas Instruments, Jian Zhang <jzhang <at> ti.com> + * Copyright (c) 2004 Micron Technology Inc. + * Copyright (c) 2004 David Brownell + * + * 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. + */ + +#include <linux/init.h> +#include <linux/ioport.h> +#include <linux/delay.h> +#include <linux/kernel.h> +#include <linux/module.h> +#include <linux/platform_device.h> +#include <linux/types.h> +#include <linux/mtd/mtd.h> +#include <linux/mtd/nand.h> +#include <linux/mtd/partitions.h> + +#include <asm/io.h> +#include <asm/hardware.h> +#include <asm/mach-types.h> +#include <asm/mach/flash.h> +#include <asm/arch/tc.h> +#include <asm/arch/gpmc.h> + +#include <asm/io.h> +#include <asm/arch/hardware.h> +#include <asm/arch/nand.h> + +#define GPMC_IRQ_STATUS 0x18 +#define GPMC_ECC_CONFIG 0x1F4 +#define GPMC_ECC_CONTROL 0x1F8 +#define GPMC_ECC_SIZE_CONFIG 0x1FC +#define GPMC_ECC1_RESULT 0x200 + +#define DRIVER_NAME "omap2-nand" +#define NAND_IO_SIZE SZ_4K + +#define NAND_WP_ON 1 +#define NAND_WP_OFF 0 +#define NAND_WP_BIT 0x00000010 +#define WR_RD_PIN_MONITORING 0x00600000 + +#define GPMC_BUF_FULL 0x00000001 +#define GPMC_BUF_EMPTY 0x00000000 + +#ifdef CONFIG_MTD_PARTITIONS +static const char *part_probes[] = { "cmdlinepart", NULL }; +#endif + +static int hw_ecc = 1; + +/* new oob placement block for use with hardware ecc generation */ +static struct nand_ecclayout omap_hw_eccoob = { + .eccbytes = 12, + .eccpos = {2,3,4,5,6,7,8,9,10,11,12,13}, + .oobfree = {{16, 32}, {33, 63} }, +}; + +struct omap_nand_info { + struct nand_hw_control controller; + struct nand_platform_data *pdata; + struct mtd_info mtd; + struct mtd_partition *parts; + struct nand_chip nand; + struct platform_device *pdev; + /*~~~~~*/ + int gpmc_cs; + unsigned long physBase; + void __iomem *gpmcCsBaseAddr; + void __iomem *gpmcBaseAddr; +}; +static void omap_nandWP(struct mtd_info *mtd, int mode) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + + unsigned long config = __raw_readl(info->gpmcBaseAddr+GPMC_CONFIG); + + if (mode) + config &= ~(NAND_WP_BIT); /* WP is ON */ + else + config |= (NAND_WP_BIT); /* WP is OFF */ + + __raw_writel(config, (info->gpmcBaseAddr+GPMC_CONFIG)); +} + +/* + * hardware specific access to control-lines + * NOTE: boards may use different bits for these!! + * + * ctrl: + * NAND_NCE: bit 0 - don't care + * NAND_CLE: bit 1 -> Command Latch + * NAND_ALE: bit 2 -> Address Latch + */ + +static void omap_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + + switch (ctrl) { + case NAND_CTRL_CHANGE | NAND_CTRL_CLE: + info->nand.IO_ADDR_W = info->gpmcCsBaseAddr + GPMC_CS_NAND_COMMAND; + info->nand.IO_ADDR_R = info->gpmcCsBaseAddr + GPMC_CS_NAND_DATA; + break; + + case NAND_CTRL_CHANGE | NAND_CTRL_ALE: + info->nand.IO_ADDR_W = info->gpmcCsBaseAddr + GPMC_CS_NAND_ADDRESS; + info->nand.IO_ADDR_R = info->gpmcCsBaseAddr + GPMC_CS_NAND_DATA; + break; + + case NAND_CTRL_CHANGE | NAND_NCE: + info->nand.IO_ADDR_W = info->gpmcCsBaseAddr + GPMC_CS_NAND_DATA; + info->nand.IO_ADDR_R = info->gpmcCsBaseAddr + GPMC_CS_NAND_DATA; + break; + } + + if (cmd != NAND_CMD_NONE) + __raw_writeb( cmd, info->nand.IO_ADDR_W ); +} + +/* +* omap_read_buf - read data from NAND controller into buffer +* <at> mtd: MTD device structure +* <at> buf: buffer to store date +* <at> len: number of bytes to read +* +*/ +static void omap_read_buf(struct mtd_info *mtd, u_char *buf, int len) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + + u16 *p = (u16 *) buf; + + len >>= 1; + + while (len--) + *p++ = cpu_to_le16(readw(info->nand.IO_ADDR_R)); +} + +/* +* omap_write_buf - write buffer to NAND controller +* <at> mtd: MTD device structure +* <at> buf: data buffer +* <at> len: number of bytes to write +* +*/ +static void omap_write_buf(struct mtd_info *mtd, const u_char * buf, int len) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + u16 *p = (u16 *) buf; + + len >>= 1; + + while (len--) { + writew(cpu_to_le16(*p++), info->nand.IO_ADDR_W); + + while (GPMC_BUF_EMPTY==(readl(info->gpmcBaseAddr+GPMC_STATUS)&GPMC_BUF_FULL)) ; + } +} +/* +** omap_verify_buf - Verify chip data against buffer +** <at> mtd: MTD device structure +** <at> buf: buffer containing the data to compare +** <at> len: number of bytes to compare +*/ +static int omap_verify_buf(struct mtd_info *mtd, const u_char * buf, int len) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + u16 *p = (u16 *) buf; + + len >>= 1; + + while (len--) { + + if (*p++ != cpu_to_le16(readw(info->nand.IO_ADDR_R))) + return -EFAULT; + } + + return 0; +} /* End omap_verify_buf */ + +static void omap_hwecc_init(struct mtd_info *mtd) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + unsigned long val = 0x0; + + /* Read from ECC Control Register */ + val = __raw_readl(info->gpmcBaseAddr+GPMC_ECC_CONTROL); + /* Clear all ECC | Enable Reg1 */ + val = ( (0x00000001<<8) | 0x00000001 ); + __raw_writel(val,info->gpmcBaseAddr+GPMC_ECC_CONTROL); + + /* Read from ECC Size Config Register */ + val = __raw_readl(info->gpmcBaseAddr+GPMC_ECC_SIZE_CONFIG); + /* ECCSIZE1=512 | ECCSIZE0=8bytes | Select eccResultsize[0123] */ + val = ((0x000000FF<<22) | (0x00000003<<12) | (0x0000000F)); + __raw_writel(val,info->gpmcBaseAddr+GPMC_ECC_SIZE_CONFIG); + + +} /* End omap_hwecc_init */ + +/* + * This function will generate true ECC value, which can be used + * when correcting data read from NAND flash memory core + */ +static void gen_true_ecc(u8 *ecc_buf) +{ + u32 tmp = ecc_buf[0] | (ecc_buf[1] << 16) | + ((ecc_buf[2] & 0xF0) << 20) | ((ecc_buf[2] & 0x0F) << 8); + + ecc_buf[0] = ~(P64o(tmp) | P64e(tmp) | P32o(tmp) | P32e(tmp) | + P16o(tmp) | P16e(tmp) | P8o(tmp) | P8e(tmp) ); + ecc_buf[1] = ~(P1024o(tmp) | P1024e(tmp) | P512o(tmp) | P512e(tmp) | + P256o(tmp) | P256e(tmp) | P128o(tmp) | P128e(tmp)); + ecc_buf[2] = ~( P4o(tmp) | P4e(tmp) | P2o(tmp) | P2e(tmp) | P1o(tmp) | + P1e(tmp) | P2048o(tmp) | P2048e(tmp)); +} /* End gen_true_ecc */ + +/* + * This function compares two ECC's and indicates if there is an error. + * If the error can be corrected it will be corrected to the buffer + */ +static int omap_compare_ecc(u8 *ecc_data1, /* read from NAND memory */ + u8 *ecc_data2, /* read from register */ + u8 *page_data) +{ + uint i; + u8 tmp0_bit[8], tmp1_bit[8], tmp2_bit[8]; + u8 comp0_bit[8], comp1_bit[8], comp2_bit[8]; + u8 ecc_bit[24]; + u8 ecc_sum = 0; + u8 find_bit = 0; + uint find_byte = 0; + int isEccFF; + + isEccFF = ((*(u32 *)ecc_data1 & 0xFFFFFF) == 0xFFFFFF); + + gen_true_ecc(ecc_data1); + gen_true_ecc(ecc_data2); + + for (i = 0; i <= 2; i++) { + *(ecc_data1 + i) = ~(*(ecc_data1 + i)); + *(ecc_data2 + i) = ~(*(ecc_data2 + i)); + } + + for (i = 0; i < 8; i++) { + tmp0_bit[i] = *ecc_data1 % 2; + *ecc_data1 = *ecc_data1 / 2; + } + + for (i = 0; i < 8; i++) { + tmp1_bit[i] = *(ecc_data1 + 1) % 2; + *(ecc_data1 + 1) = *(ecc_data1 + 1) / 2; + } + + for (i = 0; i < 8; i++) { + tmp2_bit[i] = *(ecc_data1 + 2) % 2; + *(ecc_data1 + 2) = *(ecc_data1 + 2) / 2; + } + + for (i = 0; i < 8; i++) { + comp0_bit[i] = *ecc_data2 % 2; + *ecc_data2 = *ecc_data2 / 2; + } + + for (i = 0; i < 8; i++) { + comp1_bit[i] = *(ecc_data2 + 1) % 2; + *(ecc_data2 + 1) = *(ecc_data2 + 1) / 2; + } + + for (i = 0; i < 8; i++) { + comp2_bit[i] = *(ecc_data2 + 2) % 2; + *(ecc_data2 + 2) = *(ecc_data2 + 2) / 2; + } + + for (i = 0; i< 6; i++ ) + ecc_bit[i] = tmp2_bit[i + 2] ^ comp2_bit[i + 2]; + + for (i = 0; i < 8; i++) + ecc_bit[i + 6] = tmp0_bit[i] ^ comp0_bit[i]; + + for (i = 0; i < 8; i++) + ecc_bit[i + 14] = tmp1_bit[i] ^ comp1_bit[i]; + + ecc_bit[22] = tmp2_bit[0] ^ comp2_bit[0]; + ecc_bit[23] = tmp2_bit[1] ^ comp2_bit[1]; + + for (i = 0; i < 24; i++) + ecc_sum += ecc_bit[i]; + + switch (ecc_sum) { + case 0: + /* Not reached because this function is not called if + ECC values are equal */ + return 0; + + case 1: + /* Uncorrectable error */ + DEBUG (MTD_DEBUG_LEVEL0, "ECC UNCORRECTED_ERROR 1\n"); + return -1; + + case 11: + /* UN-Correctable error */ + DEBUG (MTD_DEBUG_LEVEL0, "ECC UNCORRECTED_ERROR B\n"); + return -1; + + case 12: + /* Correctable error */ + find_byte = (ecc_bit[23] << 8) + + (ecc_bit[21] << 7) + + (ecc_bit[19] << 6) + + (ecc_bit[17] << 5) + + (ecc_bit[15] << 4) + + (ecc_bit[13] << 3) + + (ecc_bit[11] << 2) + + (ecc_bit[9] << 1) + + ecc_bit[7]; + + find_bit = (ecc_bit[5] << 2) + (ecc_bit[3] << 1) + ecc_bit[1]; + + DEBUG (MTD_DEBUG_LEVEL0, "Correcting single bit ECC error at offset: %d, bit: %d\n", find_byte, find_bit); + + page_data[find_byte] ^= (1 << find_bit); + + return 0; + default: + if (isEccFF) { + if (ecc_data2[0] == 0 && ecc_data2[1] == 0 && ecc_data2[2] == 0) + return 0; + } + DEBUG (MTD_DEBUG_LEVEL0, "UNCORRECTED_ERROR default\n"); + return -1; + } +} /* End omap_compare_ecc */ + +static int omap_correct_data(struct mtd_info *mtd,u_char * dat,u_char * read_ecc,u_char * calc_ecc) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + int blockCnt = 0, i = 0, ret = 0; + + /* Ex NAND_ECC_HW12_2048 */ + if ((info->nand.ecc.mode == NAND_ECC_HW) && (info->nand.ecc.size == 2048)) + blockCnt = 4; + else + blockCnt = 1; + + for (i = 0; i < blockCnt; i++) { + if (memcmp(read_ecc, calc_ecc, 3) != 0) { + ret = omap_compare_ecc(read_ecc, calc_ecc, dat); + if (ret < 0) return ret; + } + read_ecc += 3; + calc_ecc += 3; + dat += 512; + } + return 0; +} /* End omap_correct_data */ + + +/* +** Generate non-inverted ECC bytes. +** +** Using noninverted ECC can be considered ugly since writing a blank +** page ie. padding will clear the ECC bytes. This is no problem as long +** nobody is trying to write data on the seemingly unused page. +** +** Reading an erased page will produce an ECC mismatch between +** generated and read ECC bytes that has to be dealt with separately. +*/ +static int omap_calculate_ecc(struct mtd_info *mtd, const u_char *dat, u_char *ecc_code) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + unsigned long val = 0x0; + unsigned long reg, n; + + /* Ex NAND_ECC_HW12_2048 */ + if ((info->nand.ecc.mode == NAND_ECC_HW) && (info->nand.ecc.size == 2048)) + n = 4; + else + n = 1; + + /* Start Reading from HW ECC1_Result = 0x200 */ + reg = (unsigned long)(info->gpmcBaseAddr + GPMC_ECC1_RESULT); + while (n--) { + val = __raw_readl(reg); + *ecc_code++ = val; /* P128e, ..., P1e */ + *ecc_code++ = val >> 16; /* P128o, ..., P1o */ + /* P2048o, P1024o, P512o, P256o, P2048e, P1024e, P512e, P256e */ + *ecc_code++ = ((val >> 8) & 0x0f) | ((val >> 20) & 0xf0); + reg += 4; + } + + return 0; + +} /* omap_calculate_ecc */ + +static void omap_enable_hwecc(struct mtd_info *mtd, int mode) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + unsigned long val = __raw_readl(info->gpmcBaseAddr + GPMC_ECC_CONFIG); + + switch (mode) { + case NAND_ECC_READ : + __raw_writel(0x101,info->gpmcBaseAddr+GPMC_ECC_CONTROL); + /* ECC 16 bit col) | ( CS 0 ) | ECC Enable */ + val = (1 << 7) | (0x0) | (0x1) ; + break; + case NAND_ECC_READSYN : + __raw_writel(0x100,info->gpmcBaseAddr+GPMC_ECC_CONTROL); + /* ECC 16 bit col) | ( CS 0 ) | ECC Enable */ + val = (1 << 7) | (0x0) | (0x1) ; + break; + case NAND_ECC_WRITE : + __raw_writel(0x101,info->gpmcBaseAddr+GPMC_ECC_CONTROL); + /* ECC 16 bit col) | ( CS 0 ) | ECC Enable */ + val = (1 << 7) | (0x0) | (0x1) ; + break; + default: + DEBUG (MTD_DEBUG_LEVEL0, "Error: Unrecognized Mode[%d]!\n",mode); + BUG(); + break; + } + + __raw_writel(val,info->gpmcBaseAddr+GPMC_ECC_CONFIG); + +} /* End omap_enable_hwecc */ + +static int omap_dev_ready(struct mtd_info *mtd) +{ + struct omap_nand_info *info = container_of(mtd, struct omap_nand_info, mtd); + + unsigned int val = __raw_readl(info->gpmcBaseAddr+GPMC_IRQ_STATUS); + + if ((val & 0x100) == 0x100) { + /* Clear IRQ Interrupt */ + val |= 0x100; + val &= ~(0x0); + __raw_writel(val,info->gpmcBaseAddr+GPMC_IRQ_STATUS); + } else { + unsigned int cnt = 0; + while (cnt++ < 0x1FF){ + if ((val & 0x100) == 0x100) + return 0; + val = __raw_readl(info->gpmcBaseAddr+GPMC_IRQ_STATUS); + } + } + + return 1; +} /* End omap_dev_ready */ + +static int __devinit omap_nand_probe(struct platform_device *pdev) +{ + struct omap_nand_info *info; + struct omap_nand_platform_data *pdata; + int err; + unsigned long val; + + + pdata = pdev->dev.platform_data; + if (pdata == NULL) { + dev_err(&pdev->dev, "platform data missing\n"); + return -ENODEV; + } + + info = kzalloc( sizeof(struct omap_nand_info), GFP_KERNEL); + if (!info) return -ENOMEM; + + platform_set_drvdata(pdev, info); + + spin_lock_init(&info->controller.lock); + init_waitqueue_head(&info->controller.wq); + + info->pdev = pdev; + + info->gpmc_cs = pdata->cs; + info->gpmcBaseAddr = pdata->gpmcBaseAddr; + info->gpmcCsBaseAddr = pdata->gpmcCsBaseAddr; + + info->mtd.priv = &info->nand; + info->mtd.name = pdev->dev.bus_id; + info->mtd.owner = THIS_MODULE; + + err = gpmc_cs_request(info->gpmc_cs, NAND_IO_SIZE, &info->physBase); + if (err < 0) { + dev_err(&pdev->dev, "Cannot request GPMC CS\n"); + goto out_free_info; + } + + /* Enable RD PIN Monitoring Reg */ + val = gpmc_cs_read_reg(info->gpmc_cs,GPMC_CS_CONFIG1); + val |= WR_RD_PIN_MONITORING; + gpmc_cs_write_reg(info->gpmc_cs, GPMC_CS_CONFIG1, val); + + val = gpmc_cs_read_reg(info->gpmc_cs,GPMC_CS_CONFIG7); + val &= ~(0xf << 8); + val |= (0xc & 0xf) << 8; + gpmc_cs_write_reg(info->gpmc_cs, GPMC_CS_CONFIG7, val); + + if (!request_mem_region(info->physBase, NAND_IO_SIZE, pdev->dev.driver->name)) { + err = -EBUSY; + goto out_free_cs; + } + + info->nand.IO_ADDR_R = ioremap(info->physBase, NAND_IO_SIZE); + if (!info->nand.IO_ADDR_R) { + err = -ENOMEM; + goto out_release_mem_region; + } + info->nand.controller = &info->controller; + + info->nand.IO_ADDR_W = info->nand.IO_ADDR_R; + info->nand.cmd_ctrl = omap_hwcontrol; + + info->nand.read_buf = omap_read_buf; + info->nand.write_buf = omap_write_buf; + info->nand.verify_buf = omap_verify_buf; + + info->nand.dev_ready = omap_dev_ready; + info->nand.chip_delay = 0; + + /* Options: */ + info->nand.options = NAND_BUSWIDTH_16; + info->nand.options |= NAND_SKIP_BBTSCAN; + + if (hw_ecc) { + /* init HW ECC */ + omap_hwecc_init(&info->mtd); + + info->nand.ecc.calculate = omap_calculate_ecc; + info->nand.ecc.hwctl = omap_enable_hwecc; + info->nand.ecc.correct = omap_correct_data; + info->nand.ecc.mode = NAND_ECC_HW; + info->nand.ecc.bytes = 12; + info->nand.ecc.size = 2048; + info->nand.ecc.layout = &omap_hw_eccoob; + + } else { + info->nand.ecc.mode = NAND_ECC_SOFT; + } + + + /* DIP switches on some boards change between 8 and 16 bit + * bus widths for flash. Try the other width if the first try fails. + */ + if (nand_scan(&info->mtd, 1)) { + info->nand.options ^= NAND_BUSWIDTH_16; + if (nand_scan(&info->mtd, 1)) { + err = -ENXIO; + goto out_release_mem_region; + } + } + +#ifdef CONFIG_MTD_PARTITIONS + err = parse_mtd_partitions(&info->mtd, part_probes, &info->parts, 0); + if (err > 0) + add_mtd_partitions(&info->mtd, info->parts, err); + else if (err < 0 && pdata->parts) + add_mtd_partitions(&info->mtd, pdata->parts, pdata->nr_parts); + else +#endif + add_mtd_device(&info->mtd); + + omap_nandWP(&info->mtd,NAND_WP_OFF); + + platform_set_drvdata(pdev, &info->mtd); + + return 0; + +out_release_mem_region: + release_mem_region(info->physBase, NAND_IO_SIZE); +out_free_cs: + gpmc_cs_free(info->gpmc_cs); +out_free_info: + kfree(info); + + return err; +} /* End omap_nand_probe */ + +static int omap_nand_remove(struct platform_device *pdev) +{ + struct mtd_info *mtd = platform_get_drvdata(pdev); + struct omap_nand_info *info = mtd->priv; + + platform_set_drvdata(pdev, NULL); + /* Release NAND device, its internal structures and partitions */ + nand_release(&info->mtd); + iounmap(info->nand.IO_ADDR_R); + kfree(&info->mtd); + return 0; +} + +static struct platform_driver omap_nand_driver = { + .probe = omap_nand_probe, + .remove = omap_nand_remove, + .driver = { + .name = DRIVER_NAME, + .owner = THIS_MODULE, + }, +}; +MODULE_ALIAS(DRIVER_NAME); + +static int __init omap_nand_init(void) +{ + printk(KERN_INFO "%s driver initializing\n",DRIVER_NAME); + return platform_driver_register(&omap_nand_driver); +} + +static void __exit omap_nand_exit(void) +{ + platform_driver_unregister(&omap_nand_driver); +} + +module_init(omap_nand_init); +module_exit(omap_nand_exit); + +MODULE_LICENSE("GPL"); +MODULE_AUTHOR("Shahrom SharifKashani <sshahrom <at> micron.com> (and others)"); +MODULE_DESCRIPTION("Glue layer for NAND flash on TI OMAP boards"); diff --git a/drivers/video/omap/lcd_2430sdp.c b/drivers/video/omap/lcd_2430sdp.c index 6e5b603..a252d82 100644 --- a/drivers/video/omap/lcd_2430sdp.c +++ b/drivers/video/omap/lcd_2430sdp.c @@ -32,7 +32,7 @@ #define LCD_PANEL_BACKLIGHT_GPIO 91 #define LCD_PANEL_ENABLE_GPIO 154 #define LCD_PIXCLOCK_MAX 5400 /* freq 5.4 MHz */ -#define PM_RECEIVER TWL4030_MODULE_PM_RECIEVER +#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER #define ENABLE_VAUX2_DEDICATED 0x09 #define ENABLE_VAUX2_DEV_GRP 0x20 diff --git a/include/asm-arm/arch-omap/clock.h b/include/asm-arm/arch-omap/clock.h index c81f0d0..2aeca56 100644 --- a/include/asm-arm/arch-omap/clock.h +++ b/include/asm-arm/arch-omap/clock.h @@ -34,7 +34,7 @@ struct clk { void (*init)(struct clk *); int (*enable)(struct clk *); void (*disable)(struct clk *); -#if defined(CONFIG_ARCH_OMAP2420) +#if defined(CONFIG_ARCH_OMAP2) u8 fixed_div; #endif }; diff --git a/include/asm-arm/arch-omap/nand.h b/include/asm-arm/arch-omap/nand.h new file mode 100644 index 0000000..5860d15 --- /dev/null +++ b/include/asm-arm/arch-omap/nand.h @@ -0,0 +1,90 @@ +/* + * include/asm-arm/arch-omap/nand.h + * + * Copyright (C) 2006 Micron Technology Inc. + * Author: Shahrom Sharif-Kashani + * + * 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. + */ + +#include <linux/mtd/partitions.h> + +struct omap_nand_platform_data { + int cs; + int gpioIRQ; + struct mtd_partition *parts; + int nr_parts; + int (*nand_setup)(void __iomem *); + int dma_channel; + void __iomem *gpmcCsBaseAddr; + void __iomem *gpmcBaseAddr; +}; + +#define NAND_Ecc_P1e (1 << 0) +#define NAND_Ecc_P2e (1 << 1) +#define NAND_Ecc_P4e (1 << 2) +#define NAND_Ecc_P8e (1 << 3) +#define NAND_Ecc_P16e (1 << 4) +#define NAND_Ecc_P32e (1 << 5) +#define NAND_Ecc_P64e (1 << 6) +#define NAND_Ecc_P128e (1 << 7) +#define NAND_Ecc_P256e (1 << 8) +#define NAND_Ecc_P512e (1 << 9) +#define NAND_Ecc_P1024e (1 << 10) +#define NAND_Ecc_P2048e (1 << 11) + +#define NAND_Ecc_P1o (1 << 16) +#define NAND_Ecc_P2o (1 << 17) +#define NAND_Ecc_P4o (1 << 18) +#define NAND_Ecc_P8o (1 << 19) +#define NAND_Ecc_P16o (1 << 20) +#define NAND_Ecc_P32o (1 << 21) +#define NAND_Ecc_P64o (1 << 22) +#define NAND_Ecc_P128o (1 << 23) +#define NAND_Ecc_P256o (1 << 24) +#define NAND_Ecc_P512o (1 << 25) +#define NAND_Ecc_P1024o (1 << 26) +#define NAND_Ecc_P2048o (1 << 27) + +#define TF(value) (value ? 1 : 0) + +#define P2048e(a) (TF(a & NAND_Ecc_P2048e) << 0 ) +#define P2048o(a) (TF(a & NAND_Ecc_P2048o) << 1 ) +#define P1e(a) (TF(a & NAND_Ecc_P1e) << 2 ) +#define P1o(a) (TF(a & NAND_Ecc_P1o) << 3 ) +#define P2e(a) (TF(a & NAND_Ecc_P2e) << 4 ) +#define P2o(a) (TF(a & NAND_Ecc_P2o) << 5 ) +#define P4e(a) (TF(a & NAND_Ecc_P4e) << 6 ) +#define P4o(a) (TF(a & NAND_Ecc_P4o) << 7 ) + +#define P8e(a) (TF(a & NAND_Ecc_P8e) << 0 ) +#define P8o(a) (TF(a & NAND_Ecc_P8o) << 1 ) +#define P16e(a) (TF(a & NAND_Ecc_P16e) << 2 ) +#define P16o(a) (TF(a & NAND_Ecc_P16o) << 3 ) +#define P32e(a) (TF(a & NAND_Ecc_P32e) << 4 ) +#define P32o(a) (TF(a & NAND_Ecc_P32o) << 5 ) +#define P64e(a) (TF(a & NAND_Ecc_P64e) << 6 ) +#define P64o(a) (TF(a & NAND_Ecc_P64o) << 7 ) + +#define P128e(a) (TF(a & NAND_Ecc_P128e) << 0 ) +#define P128o(a) (TF(a & NAND_Ecc_P128o) << 1 ) +#define P256e(a) (TF(a & NAND_Ecc_P256e) << 2 ) +#define P256o(a) (TF(a & NAND_Ecc_P256o) << 3 ) +#define P512e(a) (TF(a & NAND_Ecc_P512e) << 4 ) +#define P512o(a) (TF(a & NAND_Ecc_P512o) << 5 ) +#define P1024e(a) (TF(a & NAND_Ecc_P1024e) << 6 ) +#define P1024o(a) (TF(a & NAND_Ecc_P1024o) << 7 ) + +#define P8e_s(a) (TF(a & NAND_Ecc_P8e) << 0 ) +#define P8o_s(a) (TF(a & NAND_Ecc_P8o) << 1 ) +#define P16e_s(a) (TF(a & NAND_Ecc_P16e) << 2 ) +#define P16o_s(a) (TF(a & NAND_Ecc_P16o) << 3 ) +#define P1e_s(a) (TF(a & NAND_Ecc_P1e) << 4 ) +#define P1o_s(a) (TF(a & NAND_Ecc_P1o) << 5 ) +#define P2e_s(a) (TF(a & NAND_Ecc_P2e) << 6 ) +#define P2o_s(a) (TF(a & NAND_Ecc_P2o) << 7 ) + +#define P4e_s(a) (TF(a & NAND_Ecc_P4e) << 0 ) +#define P4o_s(a) (TF(a & NAND_Ecc_P4o) << 1 ) [-- Attachment #3: Type: text/plain, Size: 0 bytes --] ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-10 20:15 ` Woodruff, Richard @ 2007-08-13 9:06 ` Tony Lindgren 2007-08-13 16:59 ` Kevin Hilman 0 siblings, 1 reply; 17+ messages in thread From: Tony Lindgren @ 2007-08-13 9:06 UTC (permalink / raw) To: Woodruff, Richard; +Cc: linux-omap-open-source * Woodruff, Richard <r-woodruff2@ti.com> [070810 13:16]: > > Can you undo this 1/3 nand patch? 2430 doesn't build without the other > > 2 patches due to some missing header (asm/arch/nand.h) that come with > > the later patches. > > Kevin for compiles sake I added the missing patches instead of removing. I reverted the 1/3 nand patch, and applied Richard's two fixes. I'll take a closer look at the nand patch this week, let's try to get things working for 2430 soon. > There were a couple more fixes which I also added to get it booting. > - update defconfig to have vfp > - add missing TWL patch I did not see a TWL patch in your attached patch? > - add in micron path > - fix clock build error > - turn back on by default omap_clocks (we use this at run time) > > Strongly, the MPU is starting at 165MHz instead of 330... Some new bug I suppose. Regards, Tony ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-13 9:06 ` Tony Lindgren @ 2007-08-13 16:59 ` Kevin Hilman 2007-08-16 15:23 ` Dirk Behme 0 siblings, 1 reply; 17+ messages in thread From: Kevin Hilman @ 2007-08-13 16:59 UTC (permalink / raw) To: Tony Lindgren; +Cc: linux-omap-open-source Tony Lindgren wrote: > * Woodruff, Richard <r-woodruff2@ti.com> [070810 13:16]: >>> Can you undo this 1/3 nand patch? 2430 doesn't build without the other >>> 2 patches due to some missing header (asm/arch/nand.h) that come with >>> the later patches. >> Kevin for compiles sake I added the missing patches instead of removing. > > I reverted the 1/3 nand patch, and applied Richard's two fixes. > I'll take a closer look at the nand patch this week, let's try to > get things working for 2430 soon. > >> There were a couple more fixes which I also added to get it booting. >> - update defconfig to have vfp >> - add missing TWL patch > > I did not see a TWL patch in your attached patch? Not sure if this is the same one Richard had, but this is what's needed for a proper build of the 2430 LCD (which stil doesn't work :) index 6e5b603..a252d82 100644 --- a/drivers/video/omap/lcd_2430sdp.c +++ b/drivers/video/omap/lcd_2430sdp.c @@ -32,7 +32,7 @@ #define LCD_PANEL_BACKLIGHT_GPIO 91 #define LCD_PANEL_ENABLE_GPIO 154 #define LCD_PIXCLOCK_MAX 5400 /* freq 5.4 MHz */ -#define PM_RECEIVER TWL4030_MODULE_PM_RECIEVER +#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER #define ENABLE_VAUX2_DEDICATED 0x09 #define ENABLE_VAUX2_DEV_GRP 0x20 ^ permalink raw reply related [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-13 16:59 ` Kevin Hilman @ 2007-08-16 15:23 ` Dirk Behme 2007-08-17 7:25 ` Tony Lindgren 0 siblings, 1 reply; 17+ messages in thread From: Dirk Behme @ 2007-08-16 15:23 UTC (permalink / raw) To: Tony Lindgren; +Cc: linux-omap-open-source Kevin Hilman wrote: > Tony Lindgren wrote: > >>* Woodruff, Richard <r-woodruff2@ti.com> [070810 13:16]: >> >>>>Can you undo this 1/3 nand patch? 2430 doesn't build without the other >>>>2 patches due to some missing header (asm/arch/nand.h) that come with >>>>the later patches. >>> >>>Kevin for compiles sake I added the missing patches instead of removing. >> >>I reverted the 1/3 nand patch, and applied Richard's two fixes. >>I'll take a closer look at the nand patch this week, let's try to >>get things working for 2430 soon. >> >> >>>There were a couple more fixes which I also added to get it booting. >>> - update defconfig to have vfp >>> - add missing TWL patch >> >>I did not see a TWL patch in your attached patch? > > > Not sure if this is the same one Richard had, but this is what's needed > for a proper build of the 2430 LCD (which stil doesn't work :) > > index 6e5b603..a252d82 100644 > --- a/drivers/video/omap/lcd_2430sdp.c > +++ b/drivers/video/omap/lcd_2430sdp.c > @@ -32,7 +32,7 @@ > #define LCD_PANEL_BACKLIGHT_GPIO 91 > #define LCD_PANEL_ENABLE_GPIO 154 > #define LCD_PIXCLOCK_MAX 5400 /* freq 5.4 MHz */ > -#define PM_RECEIVER TWL4030_MODULE_PM_RECIEVER > +#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER > #define ENABLE_VAUX2_DEDICATED 0x09 > #define ENABLE_VAUX2_DEV_GRP 0x20 Is there a special reason that this isn't applied yet or is it just missed because of missing [PATCH] in subject? ;) Cheers Dirk ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Pending patches, was: Git tree updated to 2.6.23-rc2 2007-08-16 15:23 ` Dirk Behme @ 2007-08-17 7:25 ` Tony Lindgren 0 siblings, 0 replies; 17+ messages in thread From: Tony Lindgren @ 2007-08-17 7:25 UTC (permalink / raw) To: Dirk Behme; +Cc: linux-omap-open-source * Dirk Behme <dirk.behme@googlemail.com> [070816 08:24]: > Kevin Hilman wrote: >> Tony Lindgren wrote: >>> * Woodruff, Richard <r-woodruff2@ti.com> [070810 13:16]: >>> >>>>> Can you undo this 1/3 nand patch? 2430 doesn't build without the other >>>>> 2 patches due to some missing header (asm/arch/nand.h) that come with >>>>> the later patches. >>>> >>>> Kevin for compiles sake I added the missing patches instead of removing. >>> >>> I reverted the 1/3 nand patch, and applied Richard's two fixes. >>> I'll take a closer look at the nand patch this week, let's try to >>> get things working for 2430 soon. >>> >>> >>>> There were a couple more fixes which I also added to get it booting. >>>> - update defconfig to have vfp >>>> - add missing TWL patch >>> >>> I did not see a TWL patch in your attached patch? >> Not sure if this is the same one Richard had, but this is what's needed >> for a proper build of the 2430 LCD (which stil doesn't work :) >> index 6e5b603..a252d82 100644 >> --- a/drivers/video/omap/lcd_2430sdp.c >> +++ b/drivers/video/omap/lcd_2430sdp.c >> @@ -32,7 +32,7 @@ >> #define LCD_PANEL_BACKLIGHT_GPIO 91 >> #define LCD_PANEL_ENABLE_GPIO 154 >> #define LCD_PIXCLOCK_MAX 5400 /* freq 5.4 MHz */ >> -#define PM_RECEIVER TWL4030_MODULE_PM_RECIEVER >> +#define PM_RECEIVER TWL4030_MODULE_PM_RECEIVER >> #define ENABLE_VAUX2_DEDICATED 0x09 >> #define ENABLE_VAUX2_DEV_GRP 0x20 > > Is there a special reason that this isn't applied yet or is it just missed > because of missing [PATCH] in subject? ;) Yeah, and that's how I forgot all about it :) Anyways, I'll apply it today. Tony ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Git tree updated to 2.6.23-rc2 2007-08-06 12:52 Git tree updated to 2.6.23-rc2 Tony Lindgren 2007-08-06 13:26 ` Trilok Soni 2007-08-06 15:21 ` Pending patches, was: " Dirk Behme @ 2007-08-10 3:34 ` Kevin Hilman 2007-08-10 3:47 ` Syed Mohammed, Khasim 2 siblings, 1 reply; 17+ messages in thread From: Kevin Hilman @ 2007-08-10 3:34 UTC (permalink / raw) To: Tony Lindgren; +Cc: linux-omap-open-source Tony Lindgren wrote: > Hi all, > > I've just updated our git tree to 2.6.23-rc2. Thanks to Trilok, now > the omap framebuffer code is integrated to the mainline kernel :) > > There are quite a few pending patches, I will be looking at them > this week. Anyone else running a VFP userland on 24xx? Starting with this latest merge, I'm started seeing a bunch of VFP errors as soon as userland starts (see below.) The errors continue to spew and I eventually get a console, but any command just triggers them again. [...] Looking up port of RPC 100005/3 on 192.168.1.2 VFS: Mounted root (nfs filesystem). Freeing init memory: 124K VFP: instr ecac8b11 pc 40016368 state c04a21b0 VFP: fpexc 00000000 VFP: enable c04a21b0 VFP: save old state 00000000 VFP: load state c04a21b0 VFP: instr ecac8b11 pc 40016368 state c04a21b0 VFP: fpexc 00000000 VFP: enable c04a21b0 VFP: instr ecac8b11 pc 40016368 state c04a21b0 VFP: fpexc 00000000 VFP: enable c04a21b0 VFP: instr ecac8b11 pc 40016368 state c04a21b0 VFP: fpexc 00000000 VFP: enable c04a21b0 VFP: instr ecac8b11 pc 40016368 state c04a21b0 VFP: fpexc 00000000 VFP: enable c04a21b0 [...] ^ permalink raw reply [flat|nested] 17+ messages in thread
* RE: Git tree updated to 2.6.23-rc2 2007-08-10 3:34 ` Kevin Hilman @ 2007-08-10 3:47 ` Syed Mohammed, Khasim 2007-08-10 3:58 ` Kevin Hilman 0 siblings, 1 reply; 17+ messages in thread From: Syed Mohammed, Khasim @ 2007-08-10 3:47 UTC (permalink / raw) To: Kevin Hilman, Tony Lindgren; +Cc: linux-omap-open-source >Anyone else running a VFP userland on 24xx? >Starting with this latest merge, I'm started seeing a bunch of VFP >errors as soon as userland starts (see below.) The errors continue to >spew and I eventually get a console, but any command just triggers them >again. I tried only booting 2430 and 3430 ones but didn't see any errors. There were few VFP merges from Catalyn that RMK considered, I believe they are causing some conflicts with our cherry picks. Regards, Khasim ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: Git tree updated to 2.6.23-rc2 2007-08-10 3:47 ` Syed Mohammed, Khasim @ 2007-08-10 3:58 ` Kevin Hilman 0 siblings, 0 replies; 17+ messages in thread From: Kevin Hilman @ 2007-08-10 3:58 UTC (permalink / raw) To: Syed Mohammed, Khasim; +Cc: linux-omap-open-source Syed Mohammed, Khasim wrote: >>Anyone else running a VFP userland on 24xx? > >>Starting with this latest merge, I'm started seeing a bunch of VFP >>errors as soon as userland starts (see below.) The errors continue to >>spew and I eventually get a console, but any command just triggers them >>again. > > I tried only booting 2430 and 3430 ones but didn't see any errors. Do you have a VFP-compiled userland? Kevin ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2007-08-17 7:25 UTC | newest] Thread overview: 17+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2007-08-06 12:52 Git tree updated to 2.6.23-rc2 Tony Lindgren 2007-08-06 13:26 ` Trilok Soni 2007-08-06 23:17 ` Kyungmin Park 2007-08-06 15:21 ` Pending patches, was: " Dirk Behme 2007-08-06 15:42 ` Felipe Balbi 2007-08-06 23:28 ` Syed Mohammed, Khasim 2007-08-10 7:08 ` Tony Lindgren 2007-08-10 10:58 ` Tony Lindgren 2007-08-10 18:47 ` Kevin Hilman 2007-08-10 20:15 ` Woodruff, Richard 2007-08-13 9:06 ` Tony Lindgren 2007-08-13 16:59 ` Kevin Hilman 2007-08-16 15:23 ` Dirk Behme 2007-08-17 7:25 ` Tony Lindgren 2007-08-10 3:34 ` Kevin Hilman 2007-08-10 3:47 ` Syed Mohammed, Khasim 2007-08-10 3:58 ` Kevin Hilman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox