* [GIT PULL] sh updates for 2.6.35-rc1
@ 2010-05-18 9:25 Paul Mundt
2010-05-18 9:57 ` Jaswinder Singh Rajput
0 siblings, 1 reply; 9+ messages in thread
From: Paul Mundt @ 2010-05-18 9:25 UTC (permalink / raw)
To: Linus Torvalds; +Cc: linux-sh, linux-kernel
Please pull from:
master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git
Which contains:
Guennadi Liakhovetski (5):
SH: extend SCI DMA support to work on SCIFA ports
SH: constify multiple DMA related objects and references to them
SH: fix TS field shift calculation for DMA drivers
SH: fix error paths in DMA driver
sh: simplify WARN usage in SH clock driver
Hiroshi DOYU (1):
sh: clkfwk: Use debugfs_remove_recursive() for rewinding
Kuninori Morimoto (2):
sh: Check return value of clk_get on ecovec24
sh: Check return value of clk_get on ms7724
Magnus Damm (52):
sh: add INTC out of memory error handling
sh: INTC ioremap support
dmaengine: shdma: Remove sh_dmae_slave_chan_id enum
dmaengine: shdma: Common SH_DMA_SLAVE_NUMBER
serial: sh-sci: Use sg_dma_len() and sg_dma_address()
dmaengine: shdma: Introduce include/linux/sh_dma.h
sh: Fix maximum number of SCIF ports in R2D defconfigs
sh: sh7751 pci controller io port fix
sh: add CONFIG_VIRTUALIZATION for virtio support
sh: hwblk index rework
sh: scif and tmu clkdev changes
sh: tie in hwblk clocks using clkdev
sh: allow registering clocks without name
sh: get rid of hwblk clock names
sh: tie in div6 clocks using clkdev
sh: get rid of div6 clock names
sh: sh7343 mstp32 index rework
sh: sh7343 mstp32 clkdev lookup
sh: sh7366 mstp32 index rework
sh: sh7366 mstp32 clkdev lookup
sh: sh7785 mstp32 index rework
sh: sh7785 mstp32 clkdev lookup
sh: sh7786 mstp32 index rework
sh: sh7786 mstp32 clkdev lookup
sh: get rid of mstp32 clock name and id
sh: div4 reparent workaround
sh: sh7722 div4 clkdev lookup
sh: sh7723 div4 clkdev lookup
sh: sh7724 div4 clkdev lookup
sh: sh7343 div4 clkdev lookup
sh: sh7366 div4 clkdev lookup
sh: sh7785 div4 clkdev lookup
sh: sh7786 div4 clkdev lookup
sh: get rid of div4 clock name
sh: switch legacy clocks to clkdev
sh: switch sh7724 to clkdev
sh: switch sh7723 to clkdev
sh: switch sh7722 to clkdev
sh: switch sh7343 to clkdev
sh: switch sh7366 to clkdev
sh: switch sh7785 to clkdev
sh: switch sh7786 to clkdev
sh: switch sh7780 to clkdev
sh: switch sh7763 to clkdev
sh: switch sh7757 to clkdev
sh: switch shx3 to clkdev
sh: switch sh4-202 to clkdev
sh: switch boards to clkdev
sh: remove unused clock lookup
sh: move sh asm/clock.h contents to linux/sh_clk.h V2
sh: move sh clock.c contents to drivers/sh/clk.
sh: move sh clock-cpg.c contents to drivers/sh/clk-cpg.c
Matt Fleming (7):
sh: tlb debugfs support.
sh: Assembly friendly __pa and __va definitions
sh: Fix address to decompress at when CONFIG_32BIT=y
sh: Fix zImage load address when CONFIG_32BIT=y
sh: Do not try merging two 128MB PMB mappings
sh: Use correct mask when comparing PMB DATA array values
sh: native_cpu_disable() build error when CONFIG_HOTPLUG_CPU=n
Nick Piggin (1):
sh: invoke oom-killer from page fault
Paul Mundt (63):
sh: Merge clkdev API updates.
sh: Support early clkdev allocations.
driver core: Early dev_name() support.
clocksource: Use dev_name() universally across the SH drivers.
sh: Kill off all timer name clobbering.
serial: sh-sci: clkdev updates for MSTP gating.
driver core: Convert to kasprintf() for early dev_name().
clocksource: Deprecate clock string across the SH drivers.
sh: sh7786 clkdev lookups.
sh: sh7785 clkdev lookups.
sh: provide some clock lookup aliases for legacy CPG parts.
sh: Kill off timer clock strings for legacy CPG parts.
sh: sh7343 clock string death.
sh: sh7366 clock string death.
sh: sh7722 clock string death.
sh: sh7723 clkdev lookups.
sh: sh7724 clkdev lookups.
sh: Disable MMUCR_AT for SH-4 nommu.
sh: dmaengine support for SH7786 DMAC0.
sh: intc: Provide sysdev name for intc controllers.
sh: intc: Tidy up loglevel mismatches.
sh: intc: userimask support.
sh: Disable IRQ balancing for timer and IPI IRQs.
sh: intc: IRQ auto-distribution support.
sh: mach-sdk7786: pm_power_off support.
sh: Enable SH-X3 hardware synonym avoidance handling.
sh: dwarf unwinder needs linux/module.h.
sh: Zero out aliases counter when using SH-X3 hardware assistance.
sh: hw-breakpoints: Kill off stub unthrottle callback.
sh: Tidy CPU probing and fixup section annotations.
sh: __cpuinit annotate the CPU init path.
sh: Move platform smp ops in to their own structure.
sh: Kill off dangling goto labels from oom-killer rework.
sh: mach-sdk7786: update defconfig for compressed kernel image.
sh: Flag present CPUs hotpluggable in topology registration.
sh: arch/sh/kernel/setup.c needs asm/smp.h.
sh: convert online CPU map twiddling to cpumask.
sh: Make sure all SH-X3 cores are populated in the present CPU map.
sh: provide percpu CPU states for hotplug notifiers.
sh: flag smp_store_cpu_info() __cpuinit.
sh: cache secondary CPUs idle loop.
sh: CPU hotplug support.
sh: CPU hotplug support for SH-X3 SMP.
sh: make latencytop available on SMP, too.
sh: Make initrd detection more robust.
sh: convert kexec crash kernel management to LMB.
sh: convert initrd reservation to LMB.
sh: bump up extra LMB reservations in bootmem init.
sh: flag kdump as broken on SMP for now.
sh: Ensure that X2 TLB settings are reflected in vmcore.
sh: shuffle the elfcorehdr handling over to the crash dump code.
sh: enable LMB region setup via machvec.
sh: rework memory limits to work with LMB.
sh: bootmem refactoring.
sh: Reject small mappings for PMB bolting.
sh: Ensure active regions have a backing PMB entry.
sh: All SH-X3 cores support NUMA and SMP, update Kconfig.
driver core: Early dev_name() depends on slab_is_available().
sh: fixup the docbook paths for clock framework shuffling.
sh: fix up CONFIG_KEXEC=n build.
sh64: provide a stub per_cpu_trap_init() definition.
sh: Fix up the NUMA build for recent LMB changes.
sh: update defconfigs.
Documentation/DocBook/sh.tmpl | 10 +-
arch/sh/Kconfig | 36 ++-
arch/sh/Makefile | 1 -
arch/sh/boards/board-urquell.c | 3 +
arch/sh/boards/mach-ecovec24/setup.c | 26 +-
arch/sh/boards/mach-highlander/setup.c | 12 +-
arch/sh/boards/mach-sdk7786/setup.c | 17 +
arch/sh/boards/mach-se/7724/setup.c | 20 +-
arch/sh/boards/mach-x3proto/setup.c | 7 +
arch/sh/boot/compressed/Makefile | 6 +
arch/sh/boot/compressed/head_32.S | 4 +
arch/sh/configs/ap325rxa_defconfig | 56 ++--
arch/sh/configs/cayman_defconfig | 46 ++-
arch/sh/configs/dreamcast_defconfig | 29 +-
arch/sh/configs/ecovec24-romimage_defconfig | 54 ++-
arch/sh/configs/ecovec24_defconfig | 7 +-
arch/sh/configs/edosk7705_defconfig | 21 +-
arch/sh/configs/edosk7760_defconfig | 38 +-
arch/sh/configs/espt_defconfig | 42 +-
arch/sh/configs/hp6xx_defconfig | 24 +-
arch/sh/configs/kfr2r09-romimage_defconfig | 50 ++-
arch/sh/configs/kfr2r09_defconfig | 57 ++--
arch/sh/configs/landisk_defconfig | 45 ++-
arch/sh/configs/lboxre2_defconfig | 35 +-
arch/sh/configs/magicpanelr2_defconfig | 28 +-
arch/sh/configs/microdev_defconfig | 23 +-
arch/sh/configs/migor_defconfig | 60 ++--
arch/sh/configs/polaris_defconfig | 31 +-
arch/sh/configs/r7780mp_defconfig | 72 ++--
arch/sh/configs/r7785rp_defconfig | 76 ++--
arch/sh/configs/rsk7201_defconfig | 31 +-
arch/sh/configs/rsk7203_defconfig | 49 ++-
arch/sh/configs/rts7751r2d1_defconfig | 56 ++-
arch/sh/configs/rts7751r2dplus_defconfig | 56 ++-
arch/sh/configs/sdk7780_defconfig | 53 ++-
arch/sh/configs/sdk7786_defconfig | 644 +++++++++++++++++++--------
arch/sh/configs/se7206_defconfig | 38 +-
arch/sh/configs/se7343_defconfig | 53 ++-
arch/sh/configs/se7619_defconfig | 22 +-
arch/sh/configs/se7705_defconfig | 25 +-
arch/sh/configs/se7712_defconfig | 28 +-
arch/sh/configs/se7721_defconfig | 40 +-
arch/sh/configs/se7722_defconfig | 29 +-
arch/sh/configs/se7724_defconfig | 78 ++--
arch/sh/configs/se7750_defconfig | 24 +-
arch/sh/configs/se7751_defconfig | 25 +-
arch/sh/configs/se7780_defconfig | 39 ++-
arch/sh/configs/sh03_defconfig | 43 +-
arch/sh/configs/sh7710voipgw_defconfig | 29 +-
arch/sh/configs/sh7724_generic_defconfig | 58 +--
arch/sh/configs/sh7763rdp_defconfig | 45 +--
arch/sh/configs/sh7770_generic_defconfig | 54 +--
arch/sh/configs/sh7785lcr_32bit_defconfig | 75 ++--
arch/sh/configs/sh7785lcr_defconfig | 62 ++-
arch/sh/configs/shmin_defconfig | 23 +-
arch/sh/configs/shx3_defconfig | 67 ++--
arch/sh/configs/snapgear_defconfig | 31 +-
arch/sh/configs/systemh_defconfig | 23 +-
arch/sh/configs/titan_defconfig | 49 ++-
arch/sh/configs/ul2_defconfig | 38 +-
arch/sh/configs/urquell_defconfig | 82 +++--
arch/sh/drivers/pci/pci-sh7751.c | 5 +-
arch/sh/include/asm/cache.h | 4 -
arch/sh/include/asm/clkdev.h | 35 ++
arch/sh/include/asm/clock.h | 161 +-------
arch/sh/include/asm/dmaengine.h | 63 +---
arch/sh/include/asm/hw_breakpoint.h | 1 -
arch/sh/include/asm/hwblk.h | 12 +-
arch/sh/include/asm/io_generic.h | 1 +
arch/sh/include/asm/irq.h | 19 +
arch/sh/include/asm/kexec.h | 8 +
arch/sh/include/asm/machvec.h | 2 +
arch/sh/include/asm/mmzone.h | 3 +-
arch/sh/include/asm/page.h | 15 +-
arch/sh/include/asm/processor.h | 7 +
arch/sh/include/asm/processor_32.h | 2 -
arch/sh/include/asm/setup.h | 1 +
arch/sh/include/asm/siu.h | 8 +-
arch/sh/include/asm/smp-ops.h | 51 +++
arch/sh/include/asm/smp.h | 40 ++-
arch/sh/include/cpu-sh4/cpu/dma-register.h | 5 +-
arch/sh/include/cpu-sh4/cpu/mmu_context.h | 18 +-
arch/sh/include/mach-sdk7786/mach/fpga.h | 9 +
arch/sh/kernel/Makefile | 2 +-
arch/sh/kernel/clkdev.c | 169 +++++++
arch/sh/kernel/cpu/Makefile | 2 +-
arch/sh/kernel/cpu/clock-cpg.c | 312 +------------
arch/sh/kernel/cpu/clock.c | 630 +--------------------------
arch/sh/kernel/cpu/hwblk.c | 5 +
arch/sh/kernel/cpu/init.c | 24 +-
arch/sh/kernel/cpu/sh2/probe.c | 5 +-
arch/sh/kernel/cpu/sh2/setup-sh7619.c | 6 -
arch/sh/kernel/cpu/sh2a/probe.c | 4 +-
arch/sh/kernel/cpu/sh2a/setup-mxg.c | 9 -
arch/sh/kernel/cpu/sh2a/setup-sh7201.c | 9 -
arch/sh/kernel/cpu/sh2a/setup-sh7203.c | 12 -
arch/sh/kernel/cpu/sh2a/setup-sh7206.c | 15 -
arch/sh/kernel/cpu/sh3/probe.c | 4 +-
arch/sh/kernel/cpu/sh3/setup-sh7705.c | 9 -
arch/sh/kernel/cpu/sh3/setup-sh770x.c | 9 -
arch/sh/kernel/cpu/sh3/setup-sh7710.c | 9 -
arch/sh/kernel/cpu/sh3/setup-sh7720.c | 24 -
arch/sh/kernel/cpu/sh4/clock-sh4-202.c | 17 +-
arch/sh/kernel/cpu/sh4/probe.c | 4 +-
arch/sh/kernel/cpu/sh4/setup-sh4-202.c | 9 -
arch/sh/kernel/cpu/sh4/setup-sh7750.c | 15 -
arch/sh/kernel/cpu/sh4/setup-sh7760.c | 9 -
arch/sh/kernel/cpu/sh4a/clock-sh7343.c | 231 +++++++---
arch/sh/kernel/cpu/sh4a/clock-sh7366.c | 210 ++++++---
arch/sh/kernel/cpu/sh4a/clock-sh7722.c | 177 +++++---
arch/sh/kernel/cpu/sh4a/clock-sh7723.c | 279 +++++++++----
arch/sh/kernel/cpu/sh4a/clock-sh7724.c | 295 +++++++++----
arch/sh/kernel/cpu/sh4a/clock-sh7757.c | 11 +-
arch/sh/kernel/cpu/sh4a/clock-sh7763.c | 12 +-
arch/sh/kernel/cpu/sh4a/clock-sh7780.c | 12 +-
arch/sh/kernel/cpu/sh4a/clock-sh7785.c | 176 ++++++--
arch/sh/kernel/cpu/sh4a/clock-sh7786.c | 223 ++++++++--
arch/sh/kernel/cpu/sh4a/clock-shx3.c | 13 +-
arch/sh/kernel/cpu/sh4a/setup-sh7343.c | 16 -
arch/sh/kernel/cpu/sh4a/setup-sh7366.c | 13 -
arch/sh/kernel/cpu/sh4a/setup-sh7722.c | 21 +-
arch/sh/kernel/cpu/sh4a/setup-sh7723.c | 27 --
arch/sh/kernel/cpu/sh4a/setup-sh7724.c | 81 +---
arch/sh/kernel/cpu/sh4a/setup-sh7757.c | 6 -
arch/sh/kernel/cpu/sh4a/setup-sh7763.c | 18 -
arch/sh/kernel/cpu/sh4a/setup-sh7770.c | 27 --
arch/sh/kernel/cpu/sh4a/setup-sh7780.c | 24 +-
arch/sh/kernel/cpu/sh4a/setup-sh7785.c | 30 +--
arch/sh/kernel/cpu/sh4a/setup-sh7786.c | 157 +++++--
arch/sh/kernel/cpu/sh4a/setup-shx3.c | 18 -
arch/sh/kernel/cpu/sh4a/smp-shx3.c | 74 +++-
arch/sh/kernel/cpu/sh5/probe.c | 4 +-
arch/sh/kernel/cpu/sh5/setup-sh5.c | 9 -
arch/sh/kernel/crash_dump.c | 20 +-
arch/sh/kernel/dwarf.c | 1 +
arch/sh/kernel/head_32.S | 7 +-
arch/sh/kernel/hw_breakpoint.c | 5 -
arch/sh/kernel/idle.c | 8 +-
arch/sh/kernel/irq.c | 91 +++-
arch/sh/kernel/localtimer.c | 6 +-
arch/sh/kernel/machine_kexec.c | 62 +++-
arch/sh/kernel/machvec.c | 1 +
arch/sh/kernel/process.c | 2 +-
arch/sh/kernel/setup.c | 300 +++----------
arch/sh/kernel/smp.c | 160 ++++++-
arch/sh/kernel/topology.c | 6 +-
arch/sh/kernel/traps_64.c | 5 +
arch/sh/mm/Makefile | 9 +-
arch/sh/mm/cache-shx3.c | 44 ++
arch/sh/mm/cache.c | 7 +
arch/sh/mm/fault_32.c | 14 +-
arch/sh/mm/init.c | 173 +++++++-
arch/sh/mm/numa.c | 38 --
arch/sh/mm/pmb.c | 4 +-
arch/sh/mm/tlb-debugfs.c | 179 ++++++++
arch/sh/mm/tlbflush_64.c | 20 +-
drivers/base/platform.c | 20 +
drivers/clocksource/sh_cmt.c | 45 +-
drivers/clocksource/sh_mtu2.c | 37 +-
drivers/clocksource/sh_tmu.c | 41 +-
drivers/dma/shdma.c | 52 ++-
drivers/dma/shdma.h | 4 +-
drivers/serial/sh-sci.c | 189 ++++++---
drivers/sh/Kconfig | 24 +
drivers/sh/Makefile | 2 +
drivers/sh/clk-cpg.c | 298 +++++++++++++
drivers/sh/clk.c | 545 ++++++++++++++++++++++
drivers/sh/intc.c | 333 +++++++++++++--
include/linux/device.h | 4 +
include/linux/serial_sci.h | 4 +-
include/linux/sh_clk.h | 150 +++++++
include/linux/sh_dma.h | 102 +++++
include/linux/sh_intc.h | 26 +-
173 files changed, 6135 insertions(+), 3755 deletions(-)
create mode 100644 arch/sh/include/asm/clkdev.h
create mode 100644 arch/sh/include/asm/smp-ops.h
create mode 100644 arch/sh/kernel/clkdev.c
create mode 100644 arch/sh/mm/cache-shx3.c
create mode 100644 arch/sh/mm/tlb-debugfs.c
create mode 100644 drivers/sh/Kconfig
create mode 100644 drivers/sh/clk-cpg.c
create mode 100644 drivers/sh/clk.c
create mode 100644 include/linux/sh_clk.h
create mode 100644 include/linux/sh_dma.h
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 9:25 [GIT PULL] sh updates for 2.6.35-rc1 Paul Mundt @ 2010-05-18 9:57 ` Jaswinder Singh Rajput 2010-05-18 10:15 ` Paul Mundt 0 siblings, 1 reply; 9+ messages in thread From: Jaswinder Singh Rajput @ 2010-05-18 9:57 UTC (permalink / raw) To: Paul Mundt; +Cc: Linus Torvalds, linux-sh, linux-kernel Hello Paul, On Tue, May 18, 2010 at 2:55 PM, Paul Mundt <lethal@linux-sh.org> wrote: > Please pull from: > > master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6.git > > Which contains: > .. > drivers/dma/shdma.c | 52 ++- > drivers/dma/shdma.h | 4 +- > drivers/serial/sh-sci.c | 189 ++++++--- > drivers/sh/Kconfig | 24 + > drivers/sh/Makefile | 2 + > drivers/sh/clk-cpg.c | 298 +++++++++++++ > drivers/sh/clk.c | 545 ++++++++++++++++++++++ > drivers/sh/intc.c | 333 +++++++++++++-- > include/linux/device.h | 4 + > include/linux/serial_sci.h | 4 +- > include/linux/sh_clk.h | 150 +++++++ > include/linux/sh_dma.h | 102 +++++ > include/linux/sh_intc.h | 26 +- .. > create mode 100644 drivers/sh/Kconfig > create mode 100644 drivers/sh/clk-cpg.c > create mode 100644 drivers/sh/clk.c > create mode 100644 include/linux/sh_clk.h > create mode 100644 include/linux/sh_dma.h I have few doubts : 1. Which other architectures are using : include/linux/sh_clk.h, include/linux/sh_dma.h and include/linux/sh_intc.h 2. If you think, in future some architecture will going to use these files, then do you think sh_*.h name is appropriate. 3. Can we move : include/linux/sh_clk.h -> drivers/sh/sh_clk.h include/linux/sh_dma.h -> drivers/dma/sh_dma.h include/linux/sh_intc.h -> drivers/sh/sh_intc.h So that if someone want to use these file they can use it from here. Thanks, -- Jaswinder Singh. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 9:57 ` Jaswinder Singh Rajput @ 2010-05-18 10:15 ` Paul Mundt 2010-05-18 10:51 ` Jaswinder Singh Rajput 0 siblings, 1 reply; 9+ messages in thread From: Paul Mundt @ 2010-05-18 10:15 UTC (permalink / raw) To: Jaswinder Singh Rajput; +Cc: Linus Torvalds, linux-sh, linux-kernel On Tue, May 18, 2010 at 03:15:31PM +0530, Jaswinder Singh Rajput wrote: > I have few doubts : > > 1. Which other architectures are using : > include/linux/sh_clk.h, include/linux/sh_dma.h and include/linux/sh_intc.h > ARM for starters, and there are likely to be others in the future, too. Grepping would have made this pretty apparent. > 2. If you think, in future some architecture will going to use these > files, then do you think sh_*.h name is appropriate. > Yes, given that they're all SH IP blocks. Although if there's many more of them then of course putting them in their own subdirectory is an option, too. > 3. Can we move : > include/linux/sh_clk.h -> drivers/sh/sh_clk.h > include/linux/sh_dma.h -> drivers/dma/sh_dma.h > include/linux/sh_intc.h -> drivers/sh/sh_intc.h > So that if someone want to use these file they can use it from here. > No. The alternative is creating a shared architecture directory, which doesn't really scale well given how these blocks can be arbitrarily reused across different architectures -- but it's still something we might have to look at depending on what else pops up that can't be cleanly shared through the current scheme. You're of course welcome to dig up the discussions in the archives when the ARM SH-Mobile code was introduced in the first place. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 10:15 ` Paul Mundt @ 2010-05-18 10:51 ` Jaswinder Singh Rajput 2010-05-18 10:57 ` Paul Mundt 2010-05-18 11:05 ` Magnus Damm 0 siblings, 2 replies; 9+ messages in thread From: Jaswinder Singh Rajput @ 2010-05-18 10:51 UTC (permalink / raw) To: Paul Mundt Cc: Linus Torvalds, linux-sh, linux-kernel, magnus.damm, Russell King - ARM Linux Hello Paul, On Tue, May 18, 2010 at 3:45 PM, Paul Mundt <lethal@linux-sh.org> wrote: > On Tue, May 18, 2010 at 03:15:31PM +0530, Jaswinder Singh Rajput wrote: >> I have few doubts : >> >> 1. Which other architectures are using : >> include/linux/sh_clk.h, include/linux/sh_dma.h and include/linux/sh_intc.h >> > ARM for starters, and there are likely to be others in the future, too. > Grepping would have made this pretty apparent. > >> 2. If you think, in future some architecture will going to use these >> files, then do you think sh_*.h name is appropriate. >> > Yes, given that they're all SH IP blocks. Although if there's many more > of them then of course putting them in their own subdirectory is an > option, too. > >> 3. Can we move : >> include/linux/sh_clk.h -> drivers/sh/sh_clk.h >> include/linux/sh_dma.h -> drivers/dma/sh_dma.h >> include/linux/sh_intc.h -> drivers/sh/sh_intc.h >> So that if someone want to use these file they can use it from here. >> > No. > > The alternative is creating a shared architecture directory, which > doesn't really scale well given how these blocks can be arbitrarily > reused across different architectures -- but it's still something we > might have to look at depending on what else pops up that can't be > cleanly shared through the current scheme. You're of course welcome to > dig up the discussions in the archives when the ARM SH-Mobile code was > introduced in the first place. > Hmm, so still it is between ARM and SH, so better option will be : include/linux/sh_clk.h -> include/sh/clk.h include/linux/sh_dma.h -> include/sh/dma.h include/linux/sh_intc.h -> include/sh/intc.h So when arm files will come then, then we can make it like this : include/arm/clk.h include/arm/dma.h include/arm/intc.h So user will program like this : #include <arm/dma.h> #include <sh/dma.h> There are no doubts in future we will have asymmetrical processing, where we will use multiple architectures, so better make different directory for them instead of putting load on include/linux which already over-loaded. Thanks, -- Jaswinder Singh. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 10:51 ` Jaswinder Singh Rajput @ 2010-05-18 10:57 ` Paul Mundt 2010-05-18 11:05 ` Magnus Damm 1 sibling, 0 replies; 9+ messages in thread From: Paul Mundt @ 2010-05-18 10:57 UTC (permalink / raw) To: Jaswinder Singh Rajput Cc: Linus Torvalds, linux-sh, linux-kernel, magnus.damm, Russell King - ARM Linux On Tue, May 18, 2010 at 04:21:37PM +0530, Jaswinder Singh Rajput wrote: > On Tue, May 18, 2010 at 3:45 PM, Paul Mundt <lethal@linux-sh.org> wrote: > Hmm, so still it is between ARM and SH, so better option will be : > Those were examples, we already have cases where blocks are shared across more architectures than that. > include/linux/sh_clk.h -> include/sh/clk.h > include/linux/sh_dma.h -> include/sh/dma.h > include/linux/sh_intc.h -> include/sh/intc.h > > So when arm files will come then, then we can make it like this : > The ARM use case is already there, today. > include/arm/clk.h > include/arm/dma.h > include/arm/intc.h > Did you even bother looking at the files and how they are used? We are not going to duplicate identical files for each architecture. > There are no doubts in future we will have asymmetrical processing, > where we will use multiple architectures, so better make different > directory for them instead of putting load on include/linux which > already over-loaded. > You seem to be ignoring the fact that we've had these use cases for years already and that the current scheme has so far served us pretty well in that regard. If we have headers for drivers that are used across multiple architectures, then include/linux is ultimately the proper place for them. We could shoe-horn them in to some sort of pseudo-architecture thing in include/ but for what purpose? Until you've actually read through the background mail on this and actually looked at the code in question I see very little point in continuing this thread. I'm of course open to suggestions on how to make this sort of abstraction cleaner, but so far none of your suggestions are relevant to the problem at hand. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 10:51 ` Jaswinder Singh Rajput 2010-05-18 10:57 ` Paul Mundt @ 2010-05-18 11:05 ` Magnus Damm 2010-05-18 11:28 ` Jaswinder Singh Rajput 1 sibling, 1 reply; 9+ messages in thread From: Magnus Damm @ 2010-05-18 11:05 UTC (permalink / raw) To: Jaswinder Singh Rajput Cc: Paul Mundt, Linus Torvalds, linux-sh, linux-kernel, Russell King - ARM Linux Hi Jaswinder, On Tue, May 18, 2010 at 7:51 PM, Jaswinder Singh Rajput <jaswinderlinux@gmail.com> wrote: > Hmm, so still it is between ARM and SH, so better option will be : > > include/linux/sh_clk.h -> include/sh/clk.h > include/linux/sh_dma.h -> include/sh/dma.h > include/linux/sh_intc.h -> include/sh/intc.h > > So when arm files will come then, then we can make it like this : > > include/arm/clk.h > include/arm/dma.h > include/arm/intc.h > > So user will program like this : > > #include <arm/dma.h> > #include <sh/dma.h> Right now the SH code does #include <linux/sh_intc.h> and the ARM code does #include <linux/sh_intc.h> Hope this clarifies! / magnus ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 11:05 ` Magnus Damm @ 2010-05-18 11:28 ` Jaswinder Singh Rajput 2010-05-18 11:17 ` Magnus Damm 2010-05-18 22:02 ` Paul Mundt 0 siblings, 2 replies; 9+ messages in thread From: Jaswinder Singh Rajput @ 2010-05-18 11:28 UTC (permalink / raw) To: Magnus Damm Cc: Paul Mundt, Linus Torvalds, linux-sh, linux-kernel, Russell King - ARM Linux Hello magnus, On Tue, May 18, 2010 at 4:35 PM, Magnus Damm <magnus.damm@gmail.com> wrote: > Hi Jaswinder, > > On Tue, May 18, 2010 at 7:51 PM, Jaswinder Singh Rajput > <jaswinderlinux@gmail.com> wrote: >> Hmm, so still it is between ARM and SH, so better option will be : >> >> include/linux/sh_clk.h -> include/sh/clk.h >> include/linux/sh_dma.h -> include/sh/dma.h >> include/linux/sh_intc.h -> include/sh/intc.h >> >> So when arm files will come then, then we can make it like this : >> >> include/arm/clk.h >> include/arm/dma.h >> include/arm/intc.h >> >> So user will program like this : >> >> #include <arm/dma.h> >> #include <sh/dma.h> > > Right now the SH code does > > #include <linux/sh_intc.h> > > and the ARM code does > > #include <linux/sh_intc.h> > > Hope this clarifies! > I am looking at the future, where multiple architecture will use each other files. I am just worried about the file count. Currently : $ ls include/linux/ | wc -l 1029 If other architecture will also start adding the files in include/linux like you did then ? So better make another directory in include. Thanks, -- Jaswinder Singh. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 11:28 ` Jaswinder Singh Rajput @ 2010-05-18 11:17 ` Magnus Damm 2010-05-18 22:02 ` Paul Mundt 1 sibling, 0 replies; 9+ messages in thread From: Magnus Damm @ 2010-05-18 11:17 UTC (permalink / raw) To: Jaswinder Singh Rajput Cc: Paul Mundt, Linus Torvalds, linux-sh, linux-kernel, Russell King - ARM Linux Hi Jaswinder, On Tue, May 18, 2010 at 8:16 PM, Jaswinder Singh Rajput <jaswinderlinux@gmail.com> wrote: > I am looking at the future, where multiple architecture will use each > other files. > > I am just worried about the file count. Currently : > > $ ls include/linux/ | wc -l > 1029 > > If other architecture will also start adding the files in > include/linux like you did then ? > > So better make another directory in include. Perhaps we can deal with that whenever it becomes an issue. Thank you. / magnus ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [GIT PULL] sh updates for 2.6.35-rc1 2010-05-18 11:28 ` Jaswinder Singh Rajput 2010-05-18 11:17 ` Magnus Damm @ 2010-05-18 22:02 ` Paul Mundt 1 sibling, 0 replies; 9+ messages in thread From: Paul Mundt @ 2010-05-18 22:02 UTC (permalink / raw) To: Jaswinder Singh Rajput Cc: Magnus Damm, Linus Torvalds, linux-sh, linux-kernel, Russell King - ARM Linux On Tue, May 18, 2010 at 04:46:12PM +0530, Jaswinder Singh Rajput wrote: > I am looking at the future, where multiple architecture will use each > other files. > > I am just worried about the file count. Currently : > > $ ls include/linux/ | wc -l > 1029 > > If other architecture will also start adding the files in > include/linux like you did then ? > > So better make another directory in include. > I think you're still missing the point here, this "future" case you speak of has been commonplace for years already now, and it's certainly not going to change (we've had mixed architecture multi-cores under Linux for almost 10 years now, so your future case has been going on for some time now). All of this started out with the header for the serial block being moved over, which is now used by 3 in-tree architectures and a 4th architecture under development. Things like interrupt and clock controllers are not the first things that come to mind when people think of architecture independent drivers, but that's really what it has come down to at this point. The driver model and so on have helped a lot in this regard, and between that and the early platform extensions we implemented for the platform bus it's been possible to do things like move all of our clocksources/clockevents out in to the driver model and permit different architectures to tie in to them as necessary. There has been a lot of behind the scenes prep work that we've been doing to make as much of this stuff completely architecture independent as possible, so it's not like we've simply been lazily shuffling headers around based on some idea of what might possible pop up in the future. Each one of these headers has been explicitly placed for a reason and has (or will have in a subsequent merge) multiple architecture users. While we could try to encapsulate some of this in some sort of pseudo architecture abstraction, that really doesn't accomplish anything, and it also suggests an architectural relationship where there simply isn't one. Sure, most of these drivers and IP blocks began life inside an SH core, but given that we now use them across a wide range of architectures, this continued relationship simply doesn't make any sense. Having said that, I do realize that include/linux is rather cluttered with hardware-related stuff these days, and that at least is perhaps something that we may wish to change some day. Having some sort of hw/ abstraction for that stuff would make it easier to see what's hardware related and what isn't, but that's an entirely different discussion and one that needs a lot of thinking and consensus. asm/ certainly isn't the place for these things however, given that at the end of the day they really have nothing to do with any specific architecture. ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2010-05-18 22:02 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2010-05-18 9:25 [GIT PULL] sh updates for 2.6.35-rc1 Paul Mundt 2010-05-18 9:57 ` Jaswinder Singh Rajput 2010-05-18 10:15 ` Paul Mundt 2010-05-18 10:51 ` Jaswinder Singh Rajput 2010-05-18 10:57 ` Paul Mundt 2010-05-18 11:05 ` Magnus Damm 2010-05-18 11:28 ` Jaswinder Singh Rajput 2010-05-18 11:17 ` Magnus Damm 2010-05-18 22:02 ` Paul Mundt
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).