summaryrefslogtreecommitdiff
path: root/target/linux/patches
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/patches')
-rw-r--r--target/linux/patches/5.10.236/arc.patch (renamed from target/linux/patches/5.10.234/arc.patch)0
-rw-r--r--target/linux/patches/5.10.236/darwin-dtc.patch (renamed from target/linux/patches/5.10.234/darwin-dtc.patch)0
-rw-r--r--target/linux/patches/5.10.236/dtc-noyaml.patch (renamed from target/linux/patches/5.10.234/dtc-noyaml.patch)0
-rw-r--r--target/linux/patches/5.10.236/nds32-ag101p.patch (renamed from target/linux/patches/5.10.234/nds32-ag101p.patch)0
-rw-r--r--target/linux/patches/5.10.236/or1k-more-ram.patch (renamed from target/linux/patches/5.10.234/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/5.10.236/relocs.patch (renamed from target/linux/patches/5.10.234/relocs.patch)0
-rw-r--r--target/linux/patches/5.10.236/startup.patch (renamed from target/linux/patches/5.10.234/startup.patch)0
-rw-r--r--target/linux/patches/5.15.180/darwin-dtc.patch (renamed from target/linux/patches/5.15.178/darwin-dtc.patch)0
-rw-r--r--target/linux/patches/5.15.180/dtc-noyaml.patch (renamed from target/linux/patches/5.15.178/dtc-noyaml.patch)0
-rw-r--r--target/linux/patches/5.15.180/enable-ethernet-bpi-m2-plus.patch (renamed from target/linux/patches/5.15.178/enable-ethernet-bpi-m2-plus.patch)0
-rw-r--r--target/linux/patches/5.15.180/nds32-ag101p.patch (renamed from target/linux/patches/5.15.178/nds32-ag101p.patch)0
-rw-r--r--target/linux/patches/5.15.180/or1k-more-ram.patch (renamed from target/linux/patches/5.15.178/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/5.15.180/relocs.patch (renamed from target/linux/patches/5.15.178/relocs.patch)0
-rw-r--r--target/linux/patches/5.15.180/rockchip-115200.patch (renamed from target/linux/patches/5.15.178/rockchip-115200.patch)0
-rw-r--r--target/linux/patches/5.15.180/startup.patch (renamed from target/linux/patches/5.15.178/startup.patch)0
-rw-r--r--target/linux/patches/5.4.292/arc.patch (renamed from target/linux/patches/5.4.289/arc.patch)0
-rw-r--r--target/linux/patches/5.4.292/arm-nommu.patch (renamed from target/linux/patches/5.4.289/arm-nommu.patch)0
-rw-r--r--target/linux/patches/5.4.292/darwin-dtc.patch (renamed from target/linux/patches/5.4.289/darwin-dtc.patch)0
-rw-r--r--target/linux/patches/5.4.292/dtc-noyaml.patch (renamed from target/linux/patches/5.4.289/dtc-noyaml.patch)0
-rw-r--r--target/linux/patches/5.4.292/macsonic.patch (renamed from target/linux/patches/5.4.289/macsonic.patch)0
-rw-r--r--target/linux/patches/5.4.292/or1k-more-ram.patch (renamed from target/linux/patches/5.4.289/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/5.4.292/relocs.patch (renamed from target/linux/patches/5.4.289/relocs.patch)0
-rw-r--r--target/linux/patches/5.4.292/sh4.patch (renamed from target/linux/patches/5.4.289/sh4.patch)0
-rw-r--r--target/linux/patches/5.4.292/startup.patch (renamed from target/linux/patches/5.4.289/startup.patch)0
-rw-r--r--target/linux/patches/6.1.135/armnommu-fix-thread-registers.patch (renamed from target/linux/patches/6.1.130/armnommu-fix-thread-registers.patch)0
-rw-r--r--target/linux/patches/6.1.135/armnommu-versatile.patch (renamed from target/linux/patches/6.1.130/armnommu-versatile.patch)0
-rw-r--r--target/linux/patches/6.1.135/board-rockpi4-0003-arm64-dts-pcie.patch (renamed from target/linux/patches/6.1.130/board-rockpi4-0003-arm64-dts-pcie.patch)0
-rw-r--r--target/linux/patches/6.1.135/enable-ethernet-bpi-m2-plus.patch (renamed from target/linux/patches/6.1.130/enable-ethernet-bpi-m2-plus.patch)0
-rw-r--r--target/linux/patches/6.1.135/hppa-cross-compile.patch (renamed from target/linux/patches/6.1.130/hppa-cross-compile.patch)0
-rw-r--r--target/linux/patches/6.1.135/macsonic.patch (renamed from target/linux/patches/6.1.130/macsonic.patch)0
-rw-r--r--target/linux/patches/6.1.135/nios2.patch (renamed from target/linux/patches/6.1.130/nios2.patch)0
-rw-r--r--target/linux/patches/6.1.135/or1k-more-ram.patch (renamed from target/linux/patches/6.1.130/or1k-more-ram.patch)0
-rw-r--r--target/linux/patches/6.1.135/riscv32.patch (renamed from target/linux/patches/6.1.130/riscv32.patch)0
-rw-r--r--target/linux/patches/6.1.135/riscv64-flat.patch (renamed from target/linux/patches/6.1.130/riscv64-flat.patch)0
-rw-r--r--target/linux/patches/6.1.135/rockchip-115200.patch (renamed from target/linux/patches/6.1.130/rockchip-115200.patch)0
-rw-r--r--target/linux/patches/6.1.135/rockchip-pcie-timeout.patch (renamed from target/linux/patches/6.1.130/rockchip-pcie-timeout.patch)0
-rw-r--r--target/linux/patches/6.12.37/armnommu-versatile.patch (renamed from target/linux/patches/6.12.23/armnommu-versatile.patch)0
-rw-r--r--target/linux/patches/6.12.37/hppa-cross-compile.patch (renamed from target/linux/patches/6.12.23/hppa-cross-compile.patch)0
-rw-r--r--target/linux/patches/6.12.37/macsonic.patch (renamed from target/linux/patches/6.12.23/macsonic.patch)0
-rw-r--r--target/linux/patches/6.12.37/mips-vdso-gcc15.patch12
-rw-r--r--target/linux/patches/6.15.6/0001-pcmcia-Add-Hitachi-HD6446x-PCMCIA-socket-support.patch720
-rw-r--r--target/linux/patches/6.15.6/orinoco.patch12933
-rw-r--r--target/linux/patches/6.6.88/armnommu-fix-thread-registers.patch (renamed from target/linux/patches/6.6.82/armnommu-fix-thread-registers.patch)0
-rw-r--r--target/linux/patches/6.6.88/armnommu-versatile.patch (renamed from target/linux/patches/6.6.82/armnommu-versatile.patch)0
-rw-r--r--target/linux/patches/6.6.88/hppa-cross-compile.patch (renamed from target/linux/patches/6.6.82/hppa-cross-compile.patch)0
-rw-r--r--target/linux/patches/6.6.88/linksys-nslu2.patch (renamed from target/linux/patches/6.6.82/linksys-nslu2.patch)0
-rw-r--r--target/linux/patches/6.6.88/macsonic.patch (renamed from target/linux/patches/6.6.82/macsonic.patch)0
47 files changed, 13665 insertions, 0 deletions
diff --git a/target/linux/patches/5.10.234/arc.patch b/target/linux/patches/5.10.236/arc.patch
index 20810ce64..20810ce64 100644
--- a/target/linux/patches/5.10.234/arc.patch
+++ b/target/linux/patches/5.10.236/arc.patch
diff --git a/target/linux/patches/5.10.234/darwin-dtc.patch b/target/linux/patches/5.10.236/darwin-dtc.patch
index 0cdc23ab4..0cdc23ab4 100644
--- a/target/linux/patches/5.10.234/darwin-dtc.patch
+++ b/target/linux/patches/5.10.236/darwin-dtc.patch
diff --git a/target/linux/patches/5.10.234/dtc-noyaml.patch b/target/linux/patches/5.10.236/dtc-noyaml.patch
index 759bb01f7..759bb01f7 100644
--- a/target/linux/patches/5.10.234/dtc-noyaml.patch
+++ b/target/linux/patches/5.10.236/dtc-noyaml.patch
diff --git a/target/linux/patches/5.10.234/nds32-ag101p.patch b/target/linux/patches/5.10.236/nds32-ag101p.patch
index a8beea478..a8beea478 100644
--- a/target/linux/patches/5.10.234/nds32-ag101p.patch
+++ b/target/linux/patches/5.10.236/nds32-ag101p.patch
diff --git a/target/linux/patches/5.10.234/or1k-more-ram.patch b/target/linux/patches/5.10.236/or1k-more-ram.patch
index de848c838..de848c838 100644
--- a/target/linux/patches/5.10.234/or1k-more-ram.patch
+++ b/target/linux/patches/5.10.236/or1k-more-ram.patch
diff --git a/target/linux/patches/5.10.234/relocs.patch b/target/linux/patches/5.10.236/relocs.patch
index 5bcd974c7..5bcd974c7 100644
--- a/target/linux/patches/5.10.234/relocs.patch
+++ b/target/linux/patches/5.10.236/relocs.patch
diff --git a/target/linux/patches/5.10.234/startup.patch b/target/linux/patches/5.10.236/startup.patch
index eef481021..eef481021 100644
--- a/target/linux/patches/5.10.234/startup.patch
+++ b/target/linux/patches/5.10.236/startup.patch
diff --git a/target/linux/patches/5.15.178/darwin-dtc.patch b/target/linux/patches/5.15.180/darwin-dtc.patch
index 0cdc23ab4..0cdc23ab4 100644
--- a/target/linux/patches/5.15.178/darwin-dtc.patch
+++ b/target/linux/patches/5.15.180/darwin-dtc.patch
diff --git a/target/linux/patches/5.15.178/dtc-noyaml.patch b/target/linux/patches/5.15.180/dtc-noyaml.patch
index 759bb01f7..759bb01f7 100644
--- a/target/linux/patches/5.15.178/dtc-noyaml.patch
+++ b/target/linux/patches/5.15.180/dtc-noyaml.patch
diff --git a/target/linux/patches/5.15.178/enable-ethernet-bpi-m2-plus.patch b/target/linux/patches/5.15.180/enable-ethernet-bpi-m2-plus.patch
index 7e9abd9ce..7e9abd9ce 100644
--- a/target/linux/patches/5.15.178/enable-ethernet-bpi-m2-plus.patch
+++ b/target/linux/patches/5.15.180/enable-ethernet-bpi-m2-plus.patch
diff --git a/target/linux/patches/5.15.178/nds32-ag101p.patch b/target/linux/patches/5.15.180/nds32-ag101p.patch
index a8beea478..a8beea478 100644
--- a/target/linux/patches/5.15.178/nds32-ag101p.patch
+++ b/target/linux/patches/5.15.180/nds32-ag101p.patch
diff --git a/target/linux/patches/5.15.178/or1k-more-ram.patch b/target/linux/patches/5.15.180/or1k-more-ram.patch
index de848c838..de848c838 100644
--- a/target/linux/patches/5.15.178/or1k-more-ram.patch
+++ b/target/linux/patches/5.15.180/or1k-more-ram.patch
diff --git a/target/linux/patches/5.15.178/relocs.patch b/target/linux/patches/5.15.180/relocs.patch
index 5bcd974c7..5bcd974c7 100644
--- a/target/linux/patches/5.15.178/relocs.patch
+++ b/target/linux/patches/5.15.180/relocs.patch
diff --git a/target/linux/patches/5.15.178/rockchip-115200.patch b/target/linux/patches/5.15.180/rockchip-115200.patch
index ad8a2d7a7..ad8a2d7a7 100644
--- a/target/linux/patches/5.15.178/rockchip-115200.patch
+++ b/target/linux/patches/5.15.180/rockchip-115200.patch
diff --git a/target/linux/patches/5.15.178/startup.patch b/target/linux/patches/5.15.180/startup.patch
index eef481021..eef481021 100644
--- a/target/linux/patches/5.15.178/startup.patch
+++ b/target/linux/patches/5.15.180/startup.patch
diff --git a/target/linux/patches/5.4.289/arc.patch b/target/linux/patches/5.4.292/arc.patch
index 20810ce64..20810ce64 100644
--- a/target/linux/patches/5.4.289/arc.patch
+++ b/target/linux/patches/5.4.292/arc.patch
diff --git a/target/linux/patches/5.4.289/arm-nommu.patch b/target/linux/patches/5.4.292/arm-nommu.patch
index fdcec3f09..fdcec3f09 100644
--- a/target/linux/patches/5.4.289/arm-nommu.patch
+++ b/target/linux/patches/5.4.292/arm-nommu.patch
diff --git a/target/linux/patches/5.4.289/darwin-dtc.patch b/target/linux/patches/5.4.292/darwin-dtc.patch
index 0cdc23ab4..0cdc23ab4 100644
--- a/target/linux/patches/5.4.289/darwin-dtc.patch
+++ b/target/linux/patches/5.4.292/darwin-dtc.patch
diff --git a/target/linux/patches/5.4.289/dtc-noyaml.patch b/target/linux/patches/5.4.292/dtc-noyaml.patch
index 759bb01f7..759bb01f7 100644
--- a/target/linux/patches/5.4.289/dtc-noyaml.patch
+++ b/target/linux/patches/5.4.292/dtc-noyaml.patch
diff --git a/target/linux/patches/5.4.289/macsonic.patch b/target/linux/patches/5.4.292/macsonic.patch
index 75a6fcad2..75a6fcad2 100644
--- a/target/linux/patches/5.4.289/macsonic.patch
+++ b/target/linux/patches/5.4.292/macsonic.patch
diff --git a/target/linux/patches/5.4.289/or1k-more-ram.patch b/target/linux/patches/5.4.292/or1k-more-ram.patch
index 540dc43b5..540dc43b5 100644
--- a/target/linux/patches/5.4.289/or1k-more-ram.patch
+++ b/target/linux/patches/5.4.292/or1k-more-ram.patch
diff --git a/target/linux/patches/5.4.289/relocs.patch b/target/linux/patches/5.4.292/relocs.patch
index 5bcd974c7..5bcd974c7 100644
--- a/target/linux/patches/5.4.289/relocs.patch
+++ b/target/linux/patches/5.4.292/relocs.patch
diff --git a/target/linux/patches/5.4.289/sh4.patch b/target/linux/patches/5.4.292/sh4.patch
index 8ae79d49d..8ae79d49d 100644
--- a/target/linux/patches/5.4.289/sh4.patch
+++ b/target/linux/patches/5.4.292/sh4.patch
diff --git a/target/linux/patches/5.4.289/startup.patch b/target/linux/patches/5.4.292/startup.patch
index 081aa103a..081aa103a 100644
--- a/target/linux/patches/5.4.289/startup.patch
+++ b/target/linux/patches/5.4.292/startup.patch
diff --git a/target/linux/patches/6.1.130/armnommu-fix-thread-registers.patch b/target/linux/patches/6.1.135/armnommu-fix-thread-registers.patch
index 8ab2196dc..8ab2196dc 100644
--- a/target/linux/patches/6.1.130/armnommu-fix-thread-registers.patch
+++ b/target/linux/patches/6.1.135/armnommu-fix-thread-registers.patch
diff --git a/target/linux/patches/6.1.130/armnommu-versatile.patch b/target/linux/patches/6.1.135/armnommu-versatile.patch
index f8f10f50b..f8f10f50b 100644
--- a/target/linux/patches/6.1.130/armnommu-versatile.patch
+++ b/target/linux/patches/6.1.135/armnommu-versatile.patch
diff --git a/target/linux/patches/6.1.130/board-rockpi4-0003-arm64-dts-pcie.patch b/target/linux/patches/6.1.135/board-rockpi4-0003-arm64-dts-pcie.patch
index 1777e7a86..1777e7a86 100644
--- a/target/linux/patches/6.1.130/board-rockpi4-0003-arm64-dts-pcie.patch
+++ b/target/linux/patches/6.1.135/board-rockpi4-0003-arm64-dts-pcie.patch
diff --git a/target/linux/patches/6.1.130/enable-ethernet-bpi-m2-plus.patch b/target/linux/patches/6.1.135/enable-ethernet-bpi-m2-plus.patch
index 7e9abd9ce..7e9abd9ce 100644
--- a/target/linux/patches/6.1.130/enable-ethernet-bpi-m2-plus.patch
+++ b/target/linux/patches/6.1.135/enable-ethernet-bpi-m2-plus.patch
diff --git a/target/linux/patches/6.1.130/hppa-cross-compile.patch b/target/linux/patches/6.1.135/hppa-cross-compile.patch
index 5400e87a0..5400e87a0 100644
--- a/target/linux/patches/6.1.130/hppa-cross-compile.patch
+++ b/target/linux/patches/6.1.135/hppa-cross-compile.patch
diff --git a/target/linux/patches/6.1.130/macsonic.patch b/target/linux/patches/6.1.135/macsonic.patch
index 177397221..177397221 100644
--- a/target/linux/patches/6.1.130/macsonic.patch
+++ b/target/linux/patches/6.1.135/macsonic.patch
diff --git a/target/linux/patches/6.1.130/nios2.patch b/target/linux/patches/6.1.135/nios2.patch
index 43631971e..43631971e 100644
--- a/target/linux/patches/6.1.130/nios2.patch
+++ b/target/linux/patches/6.1.135/nios2.patch
diff --git a/target/linux/patches/6.1.130/or1k-more-ram.patch b/target/linux/patches/6.1.135/or1k-more-ram.patch
index 6397f8445..6397f8445 100644
--- a/target/linux/patches/6.1.130/or1k-more-ram.patch
+++ b/target/linux/patches/6.1.135/or1k-more-ram.patch
diff --git a/target/linux/patches/6.1.130/riscv32.patch b/target/linux/patches/6.1.135/riscv32.patch
index 648b0de4d..648b0de4d 100644
--- a/target/linux/patches/6.1.130/riscv32.patch
+++ b/target/linux/patches/6.1.135/riscv32.patch
diff --git a/target/linux/patches/6.1.130/riscv64-flat.patch b/target/linux/patches/6.1.135/riscv64-flat.patch
index ee70ea915..ee70ea915 100644
--- a/target/linux/patches/6.1.130/riscv64-flat.patch
+++ b/target/linux/patches/6.1.135/riscv64-flat.patch
diff --git a/target/linux/patches/6.1.130/rockchip-115200.patch b/target/linux/patches/6.1.135/rockchip-115200.patch
index ad8a2d7a7..ad8a2d7a7 100644
--- a/target/linux/patches/6.1.130/rockchip-115200.patch
+++ b/target/linux/patches/6.1.135/rockchip-115200.patch
diff --git a/target/linux/patches/6.1.130/rockchip-pcie-timeout.patch b/target/linux/patches/6.1.135/rockchip-pcie-timeout.patch
index 2ef7df2da..2ef7df2da 100644
--- a/target/linux/patches/6.1.130/rockchip-pcie-timeout.patch
+++ b/target/linux/patches/6.1.135/rockchip-pcie-timeout.patch
diff --git a/target/linux/patches/6.12.23/armnommu-versatile.patch b/target/linux/patches/6.12.37/armnommu-versatile.patch
index f8f10f50b..f8f10f50b 100644
--- a/target/linux/patches/6.12.23/armnommu-versatile.patch
+++ b/target/linux/patches/6.12.37/armnommu-versatile.patch
diff --git a/target/linux/patches/6.12.23/hppa-cross-compile.patch b/target/linux/patches/6.12.37/hppa-cross-compile.patch
index 51c24fff2..51c24fff2 100644
--- a/target/linux/patches/6.12.23/hppa-cross-compile.patch
+++ b/target/linux/patches/6.12.37/hppa-cross-compile.patch
diff --git a/target/linux/patches/6.12.23/macsonic.patch b/target/linux/patches/6.12.37/macsonic.patch
index 51e76113b..51e76113b 100644
--- a/target/linux/patches/6.12.23/macsonic.patch
+++ b/target/linux/patches/6.12.37/macsonic.patch
diff --git a/target/linux/patches/6.12.37/mips-vdso-gcc15.patch b/target/linux/patches/6.12.37/mips-vdso-gcc15.patch
new file mode 100644
index 000000000..c18bc6c92
--- /dev/null
+++ b/target/linux/patches/6.12.37/mips-vdso-gcc15.patch
@@ -0,0 +1,12 @@
+diff -Nur linux-6.12.25.orig/arch/mips/vdso/Makefile linux-6.12.25/arch/mips/vdso/Makefile
+--- linux-6.12.25.orig/arch/mips/vdso/Makefile 2025-04-25 10:48:08.000000000 +0200
++++ linux-6.12.25/arch/mips/vdso/Makefile 2025-04-30 19:42:08.538362252 +0200
+@@ -30,7 +30,7 @@
+ -O3 -g -fPIC -fno-strict-aliasing -fno-common -fno-builtin -G 0 \
+ -mrelax-pic-calls $(call cc-option, -mexplicit-relocs) \
+ -fno-stack-protector -fno-jump-tables -DDISABLE_BRANCH_PROFILING \
+- $(call cc-option, -fno-asynchronous-unwind-tables)
++ $(call cc-option, -fno-asynchronous-unwind-tables) -std=gnu11
+ aflags-vdso := $(ccflags-vdso) \
+ -D__ASSEMBLY__ -Wa,-gdwarf-2
+
diff --git a/target/linux/patches/6.15.6/0001-pcmcia-Add-Hitachi-HD6446x-PCMCIA-socket-support.patch b/target/linux/patches/6.15.6/0001-pcmcia-Add-Hitachi-HD6446x-PCMCIA-socket-support.patch
new file mode 100644
index 000000000..5c46fe5e4
--- /dev/null
+++ b/target/linux/patches/6.15.6/0001-pcmcia-Add-Hitachi-HD6446x-PCMCIA-socket-support.patch
@@ -0,0 +1,720 @@
+From b6ffbcb525539139a9b2255b992622f92757ea37 Mon Sep 17 00:00:00 2001
+From: Artur Rojek <contact@artur-rojek.eu>
+Date: Fri, 1 Aug 2025 22:52:22 +0200
+Subject: [PATCH] pcmcia: Add Hitachi HD6446x PCMCIA socket support
+
+Introduce support for the PC Card Controller part of the Hitachi HD6446x
+series of Intelligent Peripheral Controllers.
+
+WIP code. DO NOT UPSTREAM!
+---
+ arch/sh/boards/mach-hp6xx/setup.c | 45 ++-
+ arch/sh/cchips/hd6446x/hd64461.c | 56 +++-
+ arch/sh/include/asm/hd64461.h | 6 +-
+ drivers/pcmcia/Kconfig | 7 +
+ drivers/pcmcia/Makefile | 1 +
+ drivers/pcmcia/hd6446x_pcc.c | 453 ++++++++++++++++++++++++++++++
+ include/pcmcia/hd6446x_pcc.h | 9 +
+ 7 files changed, 569 insertions(+), 8 deletions(-)
+ create mode 100644 drivers/pcmcia/hd6446x_pcc.c
+ create mode 100644 include/pcmcia/hd6446x_pcc.h
+
+diff --git a/arch/sh/boards/mach-hp6xx/setup.c b/arch/sh/boards/mach-hp6xx/setup.c
+index 2ceead68d7bf..c697b8e1f5ac 100644
+--- a/arch/sh/boards/mach-hp6xx/setup.c
++++ b/arch/sh/boards/mach-hp6xx/setup.c
+@@ -18,19 +18,23 @@
+ #include <mach/hp6xx.h>
+ #include <cpu/dac.h>
+
++#include <pcmcia/hd6446x_pcc.h>
++
+ #define SCPCR 0xa4000116
+ #define SCPDR 0xa4000136
+
++#define CF_MEM_ATTR (0x15000000 - 0)
++
+ /* CF Slot */
+ static struct resource cf_ide_resources[] = {
+ [0] = {
+- .start = 0x15000000 + 0x1f0,
+- .end = 0x15000000 + 0x1f0 + 0x08 - 0x01,
++ .start = CF_MEM_ATTR + 0x1f0,
++ .end = CF_MEM_ATTR + 0x1f0 + 0x08 - 0x01,
+ .flags = IORESOURCE_MEM,
+ },
+ [1] = {
+- .start = 0x15000000 + 0x1fe,
+- .end = 0x15000000 + 0x1fe + 0x01,
++ .start = CF_MEM_ATTR + 0x1fe,
++ .end = CF_MEM_ATTR + 0x1fe + 0x01,
+ .flags = IORESOURCE_MEM,
+ },
+ [2] = {
+@@ -51,6 +55,36 @@ static struct platform_device jornadakbd_device = {
+ .id = -1,
+ };
+
++static struct resource hd6446x_pcc_resources[] = {
++ [0] = {
++ .start = HD64461_PCC0ISR,
++ .end = HD64461_PCC0ISR + 0x10,
++ .flags = IORESOURCE_MEM,
++ },
++ [1] = {
++ .start = HD64461_PCC0_BASE,
++ .end = HD64461_PCC0_BASE + 0x4000000,
++ .flags = IORESOURCE_MEM,
++ },
++ [2] = {
++ .start = HD64461_IRQ_PCC0,
++ .flags = IORESOURCE_IRQ,
++ },
++};
++
++static struct hd6446x_pcc_plat_data hd6446x_pcc_platform_data = {
++ .slot_id = 1,
++ .io_support = true,
++};
++
++static struct platform_device hp6446x_pcc_device = {
++ .name = "hd6446x_pcc",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(hd6446x_pcc_resources),
++ .resource = hd6446x_pcc_resources,
++ .dev.platform_data = &hd6446x_pcc_platform_data,
++};
++
+ static void dac_audio_start(struct dac_audio_pdata *pdata)
+ {
+ u16 v;
+@@ -108,6 +142,7 @@ static struct platform_device *hp6xx_devices[] __initdata = {
+ &cf_ide_device,
+ &jornadakbd_device,
+ &dac_audio_device,
++ &hp6446x_pcc_device,
+ };
+
+ static void __init hp6xx_init_irq(void)
+@@ -126,6 +161,8 @@ static void __init hp6xx_setup(char **cmdline_p)
+ u8 v8;
+ u16 v;
+
++ __set_io_port_base(0);
++
+ v = inw(HD64461_STBCR);
+ v |= HD64461_STBCR_SURTST | HD64461_STBCR_SIRST |
+ HD64461_STBCR_STM1ST | HD64461_STBCR_STM0ST |
+diff --git a/arch/sh/cchips/hd6446x/hd64461.c b/arch/sh/cchips/hd6446x/hd64461.c
+index 81764882d87d..965486584ee5 100644
+--- a/arch/sh/cchips/hd6446x/hd64461.c
++++ b/arch/sh/cchips/hd6446x/hd64461.c
+@@ -4,7 +4,9 @@
+ * Hitachi HD64461 companion chip support
+ */
+
++#include <linux/clkdev.h>
+ #include <linux/sched.h>
++#include <linux/sh_clk.h>
+ #include <linux/module.h>
+ #include <linux/kernel.h>
+ #include <linux/param.h>
+@@ -45,7 +47,7 @@ static void hd64461_mask_and_ack_irq(struct irq_data *data)
+ hd64461_mask_irq(data);
+
+ #ifdef CONFIG_HD64461_ENABLER
+- if (data->irq == HD64461_IRQBASE + 13)
++ if (data->irq == HD64461_IRQ_PCC1)
+ __raw_writeb(0x00, HD64461_PCC1CSCR);
+ #endif
+ }
+@@ -72,6 +74,51 @@ static void hd64461_irq_demux(struct irq_desc *desc)
+ }
+ }
+
++static int hd64461_clk_enable(struct clk *clk)
++{
++ u16 reg = __raw_readw(HD64461_STBCR);
++
++ printk("clk enable: %d\n", clk->enable_bit);
++
++ __raw_writew(reg & ~(1 << clk->enable_bit), HD64461_STBCR);
++
++ return 0;
++}
++
++static void hd64461_clk_disable(struct clk *clk)
++{
++ u16 reg = __raw_readw(HD64461_STBCR);
++
++ printk("clk disable: %d\n", clk->enable_bit);
++ //panic("clk disable: %d\n", clk->enable_bit);
++
++
++ __raw_writew(reg | (1 << clk->enable_bit), HD64461_STBCR);
++}
++
++static struct sh_clk_ops hd64461_clk_ops = {
++ .enable = hd64461_clk_enable,
++ .disable = hd64461_clk_disable,
++};
++
++static struct clk hd64461_clk[] = {
++ {
++ .enable_bit = 5,
++ .ops = &hd64461_clk_ops,
++ .flags = CLK_ENABLE_ON_INIT,
++ },
++ {
++ .enable_bit = 6,
++ .ops = &hd64461_clk_ops,
++ .flags = CLK_ENABLE_ON_INIT,
++ },
++};
++
++static struct clk_lookup hd64461_clk_lookup[] = {
++ CLKDEV_CON_ID("pcc1", &hd64461_clk[0]),
++ CLKDEV_CON_ID("pcc0", &hd64461_clk[1]),
++};
++
+ static int __init setup_hd64461(void)
+ {
+ int irq_base, i;
+@@ -106,6 +153,13 @@ static int __init setup_hd64461(void)
+ __raw_writeb(0x00, HD64461_PCC1CSCR);
+ #endif
+
++// for (i = 0; i < ARRAY_SIZE(hd64461_clk); i++)
++// clk_register(&hd64461_clk[i]);
++ clk_register(&hd64461_clk[1]);
++ clkdev_add_table(hd64461_clk_lookup, ARRAY_SIZE(hd64461_clk_lookup));
++
++ printk("done with clk setup\n");
++
+ return 0;
+ }
+
+diff --git a/arch/sh/include/asm/hd64461.h b/arch/sh/include/asm/hd64461.h
+index d2c485fa333b..91823ec07f79 100644
+--- a/arch/sh/include/asm/hd64461.h
++++ b/arch/sh/include/asm/hd64461.h
+@@ -17,9 +17,9 @@
+ #define HD64461_IOBASE 0xb0000000
+ #define HD64461_IO_OFFSET(x) (HD64461_IOBASE + (x))
+ #define HD64461_PCC0_BASE HD64461_IO_OFFSET(0x8000000)
+-#define HD64461_PCC0_ATTR (HD64461_PCC0_BASE) /* 0xb80000000 */
+-#define HD64461_PCC0_COMM (HD64461_PCC0_BASE+HD64461_PCC_WINDOW) /* 0xb90000000 */
+-#define HD64461_PCC0_IO (HD64461_PCC0_BASE+2*HD64461_PCC_WINDOW) /* 0xba0000000 */
++#define HD64461_PCC0_ATTR (HD64461_PCC0_BASE) /* 0xb8000000 */
++#define HD64461_PCC0_COMM (HD64461_PCC0_BASE+HD64461_PCC_WINDOW) /* 0xb9000000 */
++#define HD64461_PCC0_IO (HD64461_PCC0_BASE+2*HD64461_PCC_WINDOW) /* 0xba000000 */
+
+ /* Area 5 - Slot 1 - memory card only */
+ #define HD64461_PCC1_BASE HD64461_IO_OFFSET(0x4000000)
+diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
+index dddb235dd020..f2434ca15c8e 100644
+--- a/drivers/pcmcia/Kconfig
++++ b/drivers/pcmcia/Kconfig
+@@ -159,6 +159,13 @@ config PCMCIA_ALCHEMY_DEVBOARD
+
+ This driver is also available as a module called db1xxx_ss.ko
+
++config PCMCIA_HD6446X_PCC
++ tristate "Hitachi HD6446x PCMCIA socket support"
++ depends on PCMCIA && HD6446X_SERIES
++ help
++ Say Y here to include support for the PC Card Controller part of
++ the Hitachi HD6446x series of Intelligent Peripheral Controllers.
++
+ config PCMCIA_XXS1500
+ tristate "MyCable XXS1500 PCMCIA socket support"
+ depends on PCMCIA