packages/linux/linux-jlime-jornada6xx-2.6.21rc5:
authorKristoffer Ericson <kristoffer_e1@hotmail.com>
Thu, 5 Apr 2007 07:01:32 +0000 (07:01 +0000)
committerKristoffer Ericson <kristoffer_e1@hotmail.com>
Thu, 5 Apr 2007 07:01:32 +0000 (07:01 +0000)
* Addition of new kernel for the hp6xx platform.
  Updates since last is mainly focused on adjusting to
  changed API's and also moving from ide-sh into Pata.

packages/linux/linux-jlime-jornada6xx-2.6.21rc5/.mtn2git_empty [new file with mode: 0644]
packages/linux/linux-jlime-jornada6xx-2.6.21rc5/defconfig [new file with mode: 0644]
packages/linux/linux-jlime-jornada6xx-2.6.21rc5/git-20070405-2.patch [new file with mode: 0644]
packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb [new file with mode: 0644]

diff --git a/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/.mtn2git_empty b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/defconfig b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/defconfig
new file mode 100644 (file)
index 0000000..2a86055
--- /dev/null
@@ -0,0 +1,1245 @@
+#
+# Automatically generated make config: don't edit
+# Linux kernel version: 2.6.21-rc5
+# Wed Apr  4 23:26:23 2007
+#
+CONFIG_SUPERH=y
+CONFIG_RWSEM_GENERIC_SPINLOCK=y
+CONFIG_GENERIC_FIND_NEXT_BIT=y
+CONFIG_GENERIC_HWEIGHT=y
+CONFIG_GENERIC_HARDIRQS=y
+CONFIG_GENERIC_IRQ_PROBE=y
+CONFIG_GENERIC_CALIBRATE_DELAY=y
+# CONFIG_GENERIC_TIME is not set
+CONFIG_SYS_SUPPORTS_APM_EMULATION=y
+CONFIG_STACKTRACE_SUPPORT=y
+CONFIG_LOCKDEP_SUPPORT=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
+
+#
+# Code maturity level options
+#
+CONFIG_EXPERIMENTAL=y
+CONFIG_BROKEN_ON_SMP=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=y
+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_AUDIT is not set
+CONFIG_IKCONFIG=y
+CONFIG_IKCONFIG_PROC=y
+CONFIG_SYSFS_DEPRECATED=y
+CONFIG_RELAY=y
+# CONFIG_BLK_DEV_INITRD is not set
+# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
+CONFIG_SYSCTL=y
+CONFIG_EMBEDDED=y
+CONFIG_UID16=y
+CONFIG_SYSCTL_SYSCALL=y
+CONFIG_KALLSYMS=y
+# CONFIG_KALLSYMS_EXTRA_PASS is not set
+CONFIG_HOTPLUG=y
+CONFIG_PRINTK=y
+CONFIG_BUG=y
+CONFIG_ELF_CORE=y
+CONFIG_BASE_FULL=y
+CONFIG_FUTEX=y
+CONFIG_EPOLL=y
+CONFIG_SHMEM=y
+CONFIG_SLAB=y
+CONFIG_VM_EVENT_COUNTERS=y
+CONFIG_RT_MUTEXES=y
+# CONFIG_TINY_SHMEM is not set
+CONFIG_BASE_SMALL=0
+# CONFIG_SLOB is not set
+
+#
+# Loadable module support
+#
+CONFIG_MODULES=y
+CONFIG_MODULE_UNLOAD=y
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MODVERSIONS is not set
+# CONFIG_MODULE_SRCVERSION_ALL is not set
+# CONFIG_KMOD is not set
+
+#
+# Block layer
+#
+CONFIG_BLOCK=y
+# CONFIG_LBD is not set
+# CONFIG_BLK_DEV_IO_TRACE is not set
+# CONFIG_LSF is not set
+
+#
+# IO Schedulers
+#
+CONFIG_IOSCHED_NOOP=y
+# CONFIG_IOSCHED_AS is not set
+CONFIG_IOSCHED_DEADLINE=y
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_DEFAULT_AS is not set
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_NOOP is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+
+#
+# System type
+#
+# CONFIG_SH_SOLUTION_ENGINE is not set
+# CONFIG_SH_7751_SOLUTION_ENGINE is not set
+# CONFIG_SH_7300_SOLUTION_ENGINE is not set
+# CONFIG_SH_7343_SOLUTION_ENGINE is not set
+# CONFIG_SH_73180_SOLUTION_ENGINE is not set
+# CONFIG_SH_7751_SYSTEMH is not set
+CONFIG_SH_HP6XX=y
+# CONFIG_SH_SATURN is not set
+# CONFIG_SH_DREAMCAST is not set
+# CONFIG_SH_MPC1211 is not set
+# CONFIG_SH_SH03 is not set
+# CONFIG_SH_SECUREEDGE5410 is not set
+# CONFIG_SH_HS7751RVOIP is not set
+# CONFIG_SH_7710VOIPGW is not set
+# CONFIG_SH_RTS7751R2D is not set
+# CONFIG_SH_R7780RP is not set
+# CONFIG_SH_EDOSK7705 is not set
+# CONFIG_SH_SH4202_MICRODEV is not set
+# CONFIG_SH_LANDISK is not set
+# CONFIG_SH_TITAN is not set
+# CONFIG_SH_SHMIN is not set
+# CONFIG_SH_7206_SOLUTION_ENGINE is not set
+# CONFIG_SH_7619_SOLUTION_ENGINE is not set
+# CONFIG_SH_UNKNOWN is not set
+
+#
+# Processor selection
+#
+CONFIG_CPU_SH3=y
+
+#
+# SH-2 Processor Support
+#
+# CONFIG_CPU_SUBTYPE_SH7604 is not set
+# CONFIG_CPU_SUBTYPE_SH7619 is not set
+
+#
+# SH-2A Processor Support
+#
+# CONFIG_CPU_SUBTYPE_SH7206 is not set
+
+#
+# SH-3 Processor Support
+#
+# CONFIG_CPU_SUBTYPE_SH7300 is not set
+# CONFIG_CPU_SUBTYPE_SH7705 is not set
+# CONFIG_CPU_SUBTYPE_SH7706 is not set
+# CONFIG_CPU_SUBTYPE_SH7707 is not set
+# CONFIG_CPU_SUBTYPE_SH7708 is not set
+CONFIG_CPU_SUBTYPE_SH7709=y
+# CONFIG_CPU_SUBTYPE_SH7710 is not set
+
+#
+# SH-4 Processor Support
+#
+# CONFIG_CPU_SUBTYPE_SH7750 is not set
+# CONFIG_CPU_SUBTYPE_SH7091 is not set
+# CONFIG_CPU_SUBTYPE_SH7750R is not set
+# CONFIG_CPU_SUBTYPE_SH7750S is not set
+# CONFIG_CPU_SUBTYPE_SH7751 is not set
+# CONFIG_CPU_SUBTYPE_SH7751R is not set
+# CONFIG_CPU_SUBTYPE_SH7760 is not set
+# CONFIG_CPU_SUBTYPE_SH4_202 is not set
+
+#
+# ST40 Processor Support
+#
+# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
+# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
+
+#
+# SH-4A Processor Support
+#
+# CONFIG_CPU_SUBTYPE_SH7770 is not set
+# CONFIG_CPU_SUBTYPE_SH7780 is not set
+# CONFIG_CPU_SUBTYPE_SH7785 is not set
+
+#
+# SH4AL-DSP Processor Support
+#
+# CONFIG_CPU_SUBTYPE_SH73180 is not set
+# CONFIG_CPU_SUBTYPE_SH7343 is not set
+# CONFIG_CPU_SUBTYPE_SH7722 is not set
+
+#
+# Memory management options
+#
+CONFIG_MMU=y
+CONFIG_PAGE_OFFSET=0x80000000
+CONFIG_MEMORY_START=0x0d000000
+CONFIG_MEMORY_SIZE=0x00400000
+CONFIG_VSYSCALL=y
+CONFIG_PAGE_SIZE_4KB=y
+# CONFIG_PAGE_SIZE_8KB is not set
+# CONFIG_PAGE_SIZE_64KB is not set
+CONFIG_SELECT_MEMORY_MODEL=y
+CONFIG_FLATMEM_MANUAL=y
+# CONFIG_DISCONTIGMEM_MANUAL is not set
+# CONFIG_SPARSEMEM_MANUAL is not set
+CONFIG_FLATMEM=y
+CONFIG_FLAT_NODE_MEM_MAP=y
+# CONFIG_SPARSEMEM_STATIC is not set
+CONFIG_SPLIT_PTLOCK_CPUS=4
+# CONFIG_RESOURCES_64BIT is not set
+CONFIG_ZONE_DMA_FLAG=0
+
+#
+# Cache configuration
+#
+# CONFIG_SH_DIRECT_MAPPED is not set
+CONFIG_SH_WRITETHROUGH=y
+# CONFIG_SH_OCRAM is not set
+
+#
+# Processor features
+#
+CONFIG_CPU_LITTLE_ENDIAN=y
+# CONFIG_CPU_BIG_ENDIAN is not set
+# CONFIG_SH_FPU_EMU is not set
+CONFIG_SH_DSP=y
+CONFIG_SH_ADC=y
+CONFIG_CPU_HAS_INTEVT=y
+CONFIG_CPU_HAS_PINT_IRQ=y
+CONFIG_CPU_HAS_IPR_IRQ=y
+CONFIG_CPU_HAS_SR_RB=y
+
+#
+# Timer support
+#
+CONFIG_SH_TMU=y
+CONFIG_SH_TIMER_IRQ=16
+# CONFIG_NO_IDLE_HZ is not set
+CONFIG_SH_PCLK_FREQ=22110000
+
+#
+# CPU Frequency scaling
+#
+# CONFIG_CPU_FREQ is not set
+
+#
+# DMA support
+#
+CONFIG_SH_DMA=y
+CONFIG_NR_ONCHIP_DMA_CHANNELS=4
+# CONFIG_NR_DMA_CHANNELS_BOOL is not set
+
+#
+# Companion Chips
+#
+CONFIG_HD6446X_SERIES=y
+CONFIG_HD64461=y
+# CONFIG_HD64465 is not set
+CONFIG_HD64461_IRQ=36
+CONFIG_HD64461_IOBASE=0xb0000000
+CONFIG_HD64461_ENABLER=y
+
+#
+# Additional SuperH Device Drivers
+#
+# CONFIG_PUSH_SWITCH is not set
+
+#
+# Kernel features
+#
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+# CONFIG_HZ_300 is not set
+# CONFIG_HZ_1000 is not set
+CONFIG_HZ=250
+# CONFIG_KEXEC is not set
+# CONFIG_SMP is not set
+CONFIG_PREEMPT_NONE=y
+# CONFIG_PREEMPT_VOLUNTARY is not set
+# CONFIG_PREEMPT is not set
+
+#
+# Boot options
+#
+CONFIG_ZERO_PAGE_OFFSET=0x00001000
+CONFIG_BOOT_LINK_OFFSET=0x00800000
+# CONFIG_UBC_WAKEUP is not set
+# CONFIG_CMDLINE_BOOL is not set
+
+#
+# Bus options
+#
+CONFIG_ISA=y
+# CONFIG_PCI is not set
+
+#
+# PCCARD (PCMCIA/CardBus) support
+#
+CONFIG_PCCARD=y
+# CONFIG_PCMCIA_DEBUG is not set
+CONFIG_PCMCIA=y
+CONFIG_PCMCIA_LOAD_CIS=y
+# CONFIG_PCMCIA_IOCTL is not set
+
+#
+# PC-card bridges
+#
+# CONFIG_I82365 is not set
+# CONFIG_TCIC is not set
+CONFIG_PCMCIA_PROBE=y
+
+#
+# PCI Hotplug Support
+#
+
+#
+# Executable file formats
+#
+CONFIG_BINFMT_ELF=y
+# CONFIG_BINFMT_FLAT is not set
+# CONFIG_BINFMT_MISC is not set
+
+#
+# Power management options (EXPERIMENTAL)
+#
+# CONFIG_PM is not set
+
+#
+# Networking
+#
+CONFIG_NET=y
+
+#
+# Networking options
+#
+CONFIG_NETDEBUG=y
+CONFIG_PACKET=y
+CONFIG_PACKET_MMAP=y
+CONFIG_UNIX=y
+CONFIG_XFRM=y
+# CONFIG_XFRM_USER is not set
+# CONFIG_XFRM_SUB_POLICY is not set
+# CONFIG_XFRM_MIGRATE is not set
+CONFIG_NET_KEY=y
+# CONFIG_NET_KEY_MIGRATE is not set
+CONFIG_INET=y
+# CONFIG_IP_MULTICAST is not set
+# CONFIG_IP_ADVANCED_ROUTER is not set
+CONFIG_IP_FIB_HASH=y
+# CONFIG_IP_PNP is not set
+# CONFIG_NET_IPIP is not set
+# CONFIG_NET_IPGRE is not set
+# CONFIG_ARPD is not set
+# CONFIG_SYN_COOKIES is not set
+# CONFIG_INET_AH is not set
+# CONFIG_INET_ESP is not set
+# CONFIG_INET_IPCOMP is not set
+# CONFIG_INET_XFRM_TUNNEL is not set
+# CONFIG_INET_TUNNEL is not set
+CONFIG_INET_XFRM_MODE_TRANSPORT=y
+CONFIG_INET_XFRM_MODE_TUNNEL=y
+CONFIG_INET_XFRM_MODE_BEET=y
+CONFIG_INET_DIAG=y
+CONFIG_INET_TCP_DIAG=y
+# CONFIG_TCP_CONG_ADVANCED is not set
+CONFIG_TCP_CONG_CUBIC=y
+CONFIG_DEFAULT_TCP_CONG="cubic"
+# CONFIG_TCP_MD5SIG is not set
+# CONFIG_IPV6 is not set
+# CONFIG_INET6_XFRM_TUNNEL is not set
+# 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
+# CONFIG_VLAN_8021Q is not set
+# CONFIG_DECNET is not set
+# CONFIG_LLC2 is not set
+# CONFIG_IPX is not set
+# CONFIG_ATALK is not set
+# CONFIG_X25 is not set
+# CONFIG_LAPB is not set
+# CONFIG_ECONET is not set
+# CONFIG_WAN_ROUTER is not set
+
+#
+# QoS and/or fair queueing
+#
+# CONFIG_NET_SCHED is not set
+
+#
+# Network testing
+#
+# CONFIG_NET_PKTGEN is not set
+# CONFIG_HAMRADIO is not set
+# CONFIG_IRDA is not set
+# CONFIG_BT is not set
+CONFIG_IEEE80211=y
+# CONFIG_IEEE80211_DEBUG is not set
+CONFIG_IEEE80211_CRYPT_WEP=y
+# CONFIG_IEEE80211_CRYPT_CCMP is not set
+# CONFIG_IEEE80211_CRYPT_TKIP is not set
+# CONFIG_IEEE80211_SOFTMAC is not set
+CONFIG_WIRELESS_EXT=y
+
+#
+# Device Drivers
+#
+
+#
+# Generic Driver Options
+#
+CONFIG_STANDALONE=y
+CONFIG_PREVENT_FIRMWARE_BUILD=y
+CONFIG_FW_LOADER=y
+# CONFIG_SYS_HYPERVISOR is not set
+
+#
+# Connector - unified userspace <-> kernelspace linker
+#
+# CONFIG_CONNECTOR is not set
+
+#
+# Memory Technology Devices (MTD)
+#
+# CONFIG_MTD is not set
+
+#
+# Parallel port support
+#
+CONFIG_PARPORT=y
+# CONFIG_PARPORT_PC is not set
+# CONFIG_PARPORT_GSC is not set
+# CONFIG_PARPORT_AX88796 is not set
+# CONFIG_PARPORT_1284 is not set
+
+#
+# Plug and Play support
+#
+# CONFIG_PNP is not set
+# CONFIG_PNPACPI is not set
+
+#
+# Block devices
+#
+# CONFIG_BLK_DEV_COW_COMMON is not set
+CONFIG_BLK_DEV_LOOP=y
+# CONFIG_BLK_DEV_CRYPTOLOOP is not set
+# CONFIG_BLK_DEV_NBD is not set
+# CONFIG_BLK_DEV_RAM is not set
+# CONFIG_CDROM_PKTCDVD is not set
+# CONFIG_ATA_OVER_ETH is not set
+
+#
+# Misc devices
+#
+
+#
+# ATA/ATAPI/MFM/RLL support
+#
+# CONFIG_IDE is not set
+
+#
+# SCSI device support
+#
+# CONFIG_RAID_ATTRS is not set
+CONFIG_SCSI=y
+# CONFIG_SCSI_TGT is not set
+# CONFIG_SCSI_NETLINK is not set
+CONFIG_SCSI_PROC_FS=y
+
+#
+# SCSI support type (disk, tape, CD-ROM)
+#
+CONFIG_BLK_DEV_SD=y
+# CONFIG_CHR_DEV_ST is not set
+# CONFIG_CHR_DEV_OSST is not set
+CONFIG_BLK_DEV_SR=y
+# CONFIG_BLK_DEV_SR_VENDOR is not set
+CONFIG_CHR_DEV_SG=y
+CONFIG_CHR_DEV_SCH=y
+
+#
+# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
+#
+# CONFIG_SCSI_MULTI_LUN is not set
+CONFIG_SCSI_CONSTANTS=y
+CONFIG_SCSI_LOGGING=y
+# CONFIG_SCSI_SCAN_ASYNC is not set
+
+#
+# SCSI Transports
+#
+# 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_ISCSI_TCP is not set
+# CONFIG_SCSI_AHA152X is not set
+# CONFIG_SCSI_AIC7XXX_OLD is not set
+# CONFIG_SCSI_IN2000 is not set
+# CONFIG_SCSI_DTC3280 is not set
+# CONFIG_SCSI_FUTURE_DOMAIN is not set
+# CONFIG_SCSI_GENERIC_NCR5380 is not set
+# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
+# CONFIG_SCSI_NCR53C406A is not set
+# CONFIG_SCSI_PAS16 is not set
+# CONFIG_SCSI_PSI240I is not set
+# CONFIG_SCSI_QLOGIC_FAS is not set
+# CONFIG_SCSI_SYM53C416 is not set
+# CONFIG_SCSI_T128 is not set
+# CONFIG_SCSI_DEBUG is not set
+
+#
+# PCMCIA SCSI adapter support
+#
+# CONFIG_PCMCIA_AHA152X is not set
+# CONFIG_PCMCIA_FDOMAIN is not set
+# CONFIG_PCMCIA_NINJA_SCSI is not set
+# CONFIG_PCMCIA_QLOGIC is not set
+# CONFIG_PCMCIA_SYM53C500 is not set
+
+#
+# Serial ATA (prod) and Parallel ATA (experimental) drivers
+#
+CONFIG_ATA=y
+# CONFIG_ATA_NONSTANDARD is not set
+# CONFIG_PATA_LEGACY is not set
+# CONFIG_PATA_PCMCIA is not set
+# CONFIG_PATA_QDI is not set
+# CONFIG_PATA_WINBOND_VLB is not set
+CONFIG_PATA_PLATFORM=y
+
+#
+# Old CD-ROM drivers (not SCSI, not IDE)
+#
+# CONFIG_CD_NO_IDESCSI is not set
+
+#
+# Multi-device support (RAID and LVM)
+#
+# CONFIG_MD is not set
+
+#
+# Fusion MPT device support
+#
+# CONFIG_FUSION is not set
+
+#
+# IEEE 1394 (FireWire) support
+#
+
+#
+# I2O device support
+#
+
+#
+# Network device support
+#
+CONFIG_NETDEVICES=y
+CONFIG_DUMMY=y
+# CONFIG_BONDING is not set
+# CONFIG_EQUALIZER is not set
+# CONFIG_TUN is not set
+
+#
+# ARCnet devices
+#
+# CONFIG_ARCNET is not set
+
+#
+# PHY device support
+#
+# CONFIG_PHYLIB is not set
+
+#
+# Ethernet (10 or 100Mbit)
+#
+CONFIG_NET_ETHERNET=y
+CONFIG_MII=y
+# CONFIG_STNIC is not set
+# CONFIG_NET_VENDOR_3COM is not set
+# CONFIG_NET_VENDOR_SMC is not set
+# CONFIG_SMC91X is not set
+# CONFIG_NET_VENDOR_RACAL is not set
+# CONFIG_AT1700 is not set
+# CONFIG_DEPCA is not set
+# CONFIG_HP100 is not set
+# CONFIG_NET_ISA is not set
+# CONFIG_NET_PCI is not set
+# CONFIG_NET_POCKET is not set
+
+#
+# Ethernet (1000 Mbit)
+#
+
+#
+# Ethernet (10000 Mbit)
+#
+
+#
+# Token Ring devices
+#
+# CONFIG_TR is not set
+
+#
+# Wireless LAN (non-hamradio)
+#
+CONFIG_NET_RADIO=y
+# CONFIG_NET_WIRELESS_RTNETLINK is not set
+
+#
+# Obsolete Wireless cards support (pre-802.11)
+#
+# CONFIG_STRIP is not set
+# CONFIG_ARLAN is not set
+# CONFIG_WAVELAN is not set
+# CONFIG_PCMCIA_WAVELAN is not set
+# CONFIG_PCMCIA_NETWAVE is not set
+
+#
+# Wireless 802.11 Frequency Hopping cards support
+#
+# CONFIG_PCMCIA_RAYCS is not set
+
+#
+# Wireless 802.11b ISA/PCI cards support
+#
+# CONFIG_HERMES is not set
+# CONFIG_ATMEL is not set
+
+#
+# Wireless 802.11b Pcmcia/Cardbus cards support
+#
+# CONFIG_AIRO_CS is not set
+# CONFIG_PCMCIA_WL3501 is not set
+# CONFIG_HOSTAP is not set
+CONFIG_NET_WIRELESS=y
+
+#
+# PCMCIA network device support
+#
+CONFIG_NET_PCMCIA=y
+# CONFIG_PCMCIA_3C589 is not set
+# CONFIG_PCMCIA_3C574 is not set
+# CONFIG_PCMCIA_FMVJ18X is not set
+# CONFIG_PCMCIA_PCNET is not set
+# CONFIG_PCMCIA_NMCLAN is not set
+# CONFIG_PCMCIA_SMC91C92 is not set
+# CONFIG_PCMCIA_XIRC2PS is not set
+# CONFIG_PCMCIA_AXNET is not set
+
+#
+# Wan interfaces
+#
+# CONFIG_WAN is not set
+# CONFIG_PLIP is not set
+# CONFIG_PPP is not set
+# CONFIG_SLIP is not set
+# CONFIG_SHAPER is not set
+# CONFIG_NETCONSOLE is not set
+# CONFIG_NETPOLL is not set
+# CONFIG_NET_POLL_CONTROLLER is not set
+
+#
+# ISDN subsystem
+#
+# CONFIG_ISDN is not set
+
+#
+# Telephony Support
+#
+# CONFIG_PHONE is not set
+
+#
+# Input device support
+#
+CONFIG_INPUT=y
+# CONFIG_INPUT_FF_MEMLESS is not set
+
+#
+# Userland interfaces
+#
+CONFIG_INPUT_MOUSEDEV=y
+CONFIG_INPUT_MOUSEDEV_PSAUX=y
+CONFIG_INPUT_MOUSEDEV_SCREEN_X=640
+CONFIG_INPUT_MOUSEDEV_SCREEN_Y=240
+# CONFIG_INPUT_JOYDEV is not set
+CONFIG_INPUT_TSDEV=y
+CONFIG_INPUT_TSDEV_SCREEN_X=240
+CONFIG_INPUT_TSDEV_SCREEN_Y=320
+# CONFIG_INPUT_EVDEV is not set
+# CONFIG_INPUT_EVBUG is not set
+
+#
+# Input Device Drivers
+#
+CONFIG_INPUT_KEYBOARD=y
+# CONFIG_KEYBOARD_ATKBD is not set
+# CONFIG_KEYBOARD_SUNKBD is not set
+# CONFIG_KEYBOARD_LKKBD is not set
+# CONFIG_KEYBOARD_XTKBD is not set
+# CONFIG_KEYBOARD_NEWTON is not set
+# CONFIG_KEYBOARD_STOWAWAY is not set
+# CONFIG_INPUT_MOUSE is not set
+# CONFIG_INPUT_JOYSTICK is not set
+CONFIG_INPUT_TOUCHSCREEN=y
+# CONFIG_TOUCHSCREEN_GUNZE is not set
+# CONFIG_TOUCHSCREEN_ELO is not set
+# CONFIG_TOUCHSCREEN_MTOUCH is not set
+# CONFIG_TOUCHSCREEN_MK712 is not set
+CONFIG_TOUCHSCREEN_HP600=y
+# CONFIG_TOUCHSCREEN_PENMOUNT is not set
+# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
+# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
+# CONFIG_TOUCHSCREEN_UCB1400 is not set
+# CONFIG_INPUT_MISC is not set
+
+#
+# Hardware I/O ports
+#
+# CONFIG_SERIO is not set
+# CONFIG_GAMEPORT is not set
+
+#
+# Character devices
+#
+CONFIG_VT=y
+CONFIG_VT_CONSOLE=y
+CONFIG_HW_CONSOLE=y
+# CONFIG_VT_HW_CONSOLE_BINDING is not set
+# CONFIG_SERIAL_NONSTANDARD is not set
+
+#
+# Serial drivers
+#
+# CONFIG_SERIAL_8250 is not set
+
+#
+# Non-8250 serial port support
+#
+CONFIG_SERIAL_SH_SCI=y
+CONFIG_SERIAL_SH_SCI_NR_UARTS=2
+CONFIG_SERIAL_SH_SCI_CONSOLE=y
+CONFIG_SERIAL_CORE=y
+CONFIG_SERIAL_CORE_CONSOLE=y
+CONFIG_UNIX98_PTYS=y
+CONFIG_LEGACY_PTYS=y
+CONFIG_LEGACY_PTY_COUNT=5
+# CONFIG_PRINTER is not set
+# CONFIG_PPDEV is not set
+# CONFIG_TIPAR is not set
+
+#
+# IPMI
+#
+# CONFIG_IPMI_HANDLER is not set
+
+#
+# Watchdog Cards
+#
+# CONFIG_WATCHDOG is not set
+CONFIG_HW_RANDOM=m
+# CONFIG_GEN_RTC is not set
+# CONFIG_DTLK is not set
+# CONFIG_R3964 is not set
+
+#
+# PCMCIA character devices
+#
+# CONFIG_SYNCLINK_CS is not set
+# CONFIG_CARDMAN_4000 is not set
+# CONFIG_CARDMAN_4040 is not set
+# CONFIG_RAW_DRIVER is not set
+
+#
+# TPM devices
+#
+# CONFIG_TCG_TPM is not set
+
+#
+# I2C support
+#
+# CONFIG_I2C is not set
+
+#
+# SPI support
+#
+# CONFIG_SPI is not set
+# CONFIG_SPI_MASTER is not set
+
+#
+# Dallas's 1-wire bus
+#
+# CONFIG_W1 is not set
+
+#
+# Hardware Monitoring support
+#
+CONFIG_HWMON=y
+# CONFIG_HWMON_VID is not set
+# CONFIG_SENSORS_ABITUGURU is not set
+# CONFIG_SENSORS_F71805F is not set
+# CONFIG_SENSORS_PC87427 is not set
+# CONFIG_SENSORS_VT1211 is not set
+# CONFIG_HWMON_DEBUG_CHIP is not set
+
+#
+# Multifunction device drivers
+#
+# CONFIG_MFD_SM501 is not set
+
+#
+# Multimedia devices
+#
+# CONFIG_VIDEO_DEV is not set
+
+#
+# Digital Video Broadcasting Devices
+#
+# CONFIG_DVB is not set
+
+#
+# Graphics support
+#
+CONFIG_BACKLIGHT_LCD_SUPPORT=y
+CONFIG_BACKLIGHT_CLASS_DEVICE=y
+CONFIG_LCD_CLASS_DEVICE=y
+CONFIG_BACKLIGHT_HP680=y
+CONFIG_FB=y
+CONFIG_FIRMWARE_EDID=y
+# CONFIG_FB_DDC is not set
+CONFIG_FB_CFB_FILLRECT=y
+CONFIG_FB_CFB_COPYAREA=y
+CONFIG_FB_CFB_IMAGEBLIT=y
+# CONFIG_FB_SVGALIB is not set
+# CONFIG_FB_MACMODES is not set
+# CONFIG_FB_BACKLIGHT is not set
+# CONFIG_FB_MODE_HELPERS is not set
+# CONFIG_FB_TILEBLITTING is not set
+
+#
+# Frambuffer hardware drivers
+#
+# CONFIG_FB_EPSON1355 is not set
+# CONFIG_FB_S1D13XXX is not set
+CONFIG_FB_HIT=y
+# CONFIG_FB_VIRTUAL is not set
+
+#
+# Console display driver support
+#
+# CONFIG_MDA_CONSOLE is not set
+CONFIG_DUMMY_CONSOLE=y
+CONFIG_FRAMEBUFFER_CONSOLE=y
+# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set
+CONFIG_FONTS=y
+# CONFIG_FONT_8x8 is not set
+# CONFIG_FONT_8x16 is not set
+# CONFIG_FONT_6x11 is not set
+# CONFIG_FONT_7x14 is not set
+CONFIG_FONT_PEARL_8x8=y
+# CONFIG_FONT_ACORN_8x8 is not set
+# CONFIG_FONT_MINI_4x6 is not set
+# CONFIG_FONT_SUN8x16 is not set
+# CONFIG_FONT_SUN12x22 is not set
+# CONFIG_FONT_10x18 is not set
+
+#
+# Logo configuration
+#
+# CONFIG_LOGO is not set
+
+#
+# Sound
+#
+# CONFIG_SOUND is not set
+
+#
+# HID Devices
+#
+CONFIG_HID=y
+# CONFIG_HID_DEBUG is not set
+
+#
+# USB support
+#
+# CONFIG_USB_ARCH_HAS_HCD is not set
+# CONFIG_USB_ARCH_HAS_OHCI is not set
+# CONFIG_USB_ARCH_HAS_EHCI is not set
+
+#
+# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
+#
+
+#
+# USB Gadget Support
+#
+# CONFIG_USB_GADGET is not set
+
+#
+# MMC/SD Card support
+#
+# CONFIG_MMC is not set
+
+#
+# LED devices
+#
+# CONFIG_NEW_LEDS is not set
+
+#
+# LED drivers
+#
+
+#
+# LED Triggers
+#
+
+#
+# InfiniBand support
+#
+
+#
+# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
+#
+
+#
+# Real Time Clock
+#
+CONFIG_RTC_LIB=y
+CONFIG_RTC_CLASS=y
+CONFIG_RTC_HCTOSYS=y
+CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
+# CONFIG_RTC_DEBUG is not set
+
+#
+# RTC interfaces
+#
+CONFIG_RTC_INTF_SYSFS=y
+CONFIG_RTC_INTF_PROC=y
+CONFIG_RTC_INTF_DEV=y
+# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
+
+#
+# RTC drivers
+#
+# CONFIG_RTC_DRV_DS1553 is not set
+# CONFIG_RTC_DRV_DS1742 is not set
+# CONFIG_RTC_DRV_M48T86 is not set
+CONFIG_RTC_DRV_SH=y
+# CONFIG_RTC_DRV_TEST is not set
+# CONFIG_RTC_DRV_V3020 is not set
+
+#
+# DMA Engine support
+#
+# CONFIG_DMA_ENGINE is not set
+
+#
+# DMA Clients
+#
+
+#
+# DMA Devices
+#
+
+#
+# Auxiliary Display support
+#
+
+#
+# Virtualization
+#
+
+#
+# File systems
+#
+CONFIG_EXT2_FS=y
+# CONFIG_EXT2_FS_XATTR is not set
+# CONFIG_EXT2_FS_XIP is not set
+CONFIG_EXT3_FS=y
+CONFIG_EXT3_FS_XATTR=y
+# CONFIG_EXT3_FS_POSIX_ACL is not set
+# CONFIG_EXT3_FS_SECURITY is not set
+# CONFIG_EXT4DEV_FS is not set
+CONFIG_JBD=y
+# CONFIG_JBD_DEBUG is not set
+CONFIG_FS_MBCACHE=y
+# CONFIG_REISERFS_FS is not set
+# CONFIG_JFS_FS is not set
+# CONFIG_FS_POSIX_ACL is not set
+# CONFIG_XFS_FS is not set
+# CONFIG_GFS2_FS is not set
+# CONFIG_OCFS2_FS is not set
+# CONFIG_MINIX_FS is not set
+# CONFIG_ROMFS_FS is not set
+CONFIG_INOTIFY=y
+CONFIG_INOTIFY_USER=y
+# CONFIG_QUOTA is not set
+CONFIG_DNOTIFY=y
+CONFIG_AUTOFS_FS=y
+# CONFIG_AUTOFS4_FS is not set
+# CONFIG_FUSE_FS is not set
+
+#
+# CD-ROM/DVD Filesystems
+#
+# CONFIG_ISO9660_FS is not set
+# CONFIG_UDF_FS is not set
+
+#
+# DOS/FAT/NT Filesystems
+#
+CONFIG_FAT_FS=y
+# CONFIG_MSDOS_FS is not set
+CONFIG_VFAT_FS=y
+CONFIG_FAT_DEFAULT_CODEPAGE=437
+CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
+# CONFIG_NTFS_FS is not set
+
+#
+# Pseudo filesystems
+#
+CONFIG_PROC_FS=y
+CONFIG_PROC_KCORE=y
+CONFIG_PROC_SYSCTL=y
+CONFIG_SYSFS=y
+CONFIG_TMPFS=y
+# CONFIG_TMPFS_POSIX_ACL is not set
+# CONFIG_HUGETLBFS is not set
+# CONFIG_HUGETLB_PAGE is not set
+CONFIG_RAMFS=y
+# CONFIG_CONFIGFS_FS is not set
+
+#
+# Miscellaneous filesystems
+#
+# CONFIG_ADFS_FS is not set
+# CONFIG_AFFS_FS is not set
+# CONFIG_HFS_FS is not set
+# CONFIG_HFSPLUS_FS is not set
+# CONFIG_BEFS_FS is not set
+# CONFIG_BFS_FS is not set
+# CONFIG_EFS_FS is not set
+# CONFIG_CRAMFS is not set
+# CONFIG_VXFS_FS is not set
+# CONFIG_HPFS_FS is not set
+# CONFIG_QNX4FS_FS is not set
+# CONFIG_SYSV_FS is not set
+# CONFIG_UFS_FS is not set
+
+#
+# Network File Systems
+#
+CONFIG_NFS_FS=m
+# CONFIG_NFS_V3 is not set
+# CONFIG_NFS_V4 is not set
+# CONFIG_NFS_DIRECTIO is not set
+CONFIG_NFSD=m
+# CONFIG_NFSD_V3 is not set
+CONFIG_NFSD_TCP=y
+CONFIG_LOCKD=m
+CONFIG_EXPORTFS=m
+CONFIG_NFS_COMMON=y
+CONFIG_SUNRPC=m
+# CONFIG_RPCSEC_GSS_KRB5 is not set
+# CONFIG_RPCSEC_GSS_SPKM3 is not set
+CONFIG_SMB_FS=m
+# CONFIG_SMB_NLS_DEFAULT is not set
+# CONFIG_CIFS is not set
+# 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
+#
+CONFIG_PARTITION_ADVANCED=y
+# CONFIG_ACORN_PARTITION is not set
+# CONFIG_OSF_PARTITION is not set
+# CONFIG_AMIGA_PARTITION is not set
+# CONFIG_ATARI_PARTITION is not set
+# CONFIG_MAC_PARTITION is not set
+CONFIG_MSDOS_PARTITION=y
+# CONFIG_BSD_DISKLABEL is not set
+# CONFIG_MINIX_SUBPARTITION is not set
+# CONFIG_SOLARIS_X86_PARTITION is not set
+# CONFIG_UNIXWARE_DISKLABEL is not set
+# CONFIG_LDM_PARTITION is not set
+# CONFIG_SGI_PARTITION is not set
+# CONFIG_ULTRIX_PARTITION is not set
+# CONFIG_SUN_PARTITION is not set
+# CONFIG_KARMA_PARTITION is not set
+# CONFIG_EFI_PARTITION is not set
+
+#
+# Native Language Support
+#
+CONFIG_NLS=y
+CONFIG_NLS_DEFAULT="iso8859-1"
+CONFIG_NLS_CODEPAGE_437=y
+CONFIG_NLS_CODEPAGE_737=m
+CONFIG_NLS_CODEPAGE_775=m
+CONFIG_NLS_CODEPAGE_850=m
+CONFIG_NLS_CODEPAGE_852=m
+CONFIG_NLS_CODEPAGE_855=m
+CONFIG_NLS_CODEPAGE_857=m
+CONFIG_NLS_CODEPAGE_860=m
+CONFIG_NLS_CODEPAGE_861=m
+CONFIG_NLS_CODEPAGE_862=m
+CONFIG_NLS_CODEPAGE_863=m
+CONFIG_NLS_CODEPAGE_864=m
+CONFIG_NLS_CODEPAGE_865=m
+CONFIG_NLS_CODEPAGE_866=m
+CONFIG_NLS_CODEPAGE_869=m
+CONFIG_NLS_CODEPAGE_936=m
+CONFIG_NLS_CODEPAGE_950=m
+CONFIG_NLS_CODEPAGE_932=m
+CONFIG_NLS_CODEPAGE_949=m
+CONFIG_NLS_CODEPAGE_874=m
+CONFIG_NLS_ISO8859_8=m
+CONFIG_NLS_CODEPAGE_1250=m
+CONFIG_NLS_CODEPAGE_1251=m
+CONFIG_NLS_ASCII=m
+CONFIG_NLS_ISO8859_1=m
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NLS_ISO8859_3=m
+CONFIG_NLS_ISO8859_4=m
+CONFIG_NLS_ISO8859_5=m
+CONFIG_NLS_ISO8859_6=m
+CONFIG_NLS_ISO8859_7=m
+CONFIG_NLS_ISO8859_9=m
+CONFIG_NLS_ISO8859_13=m
+CONFIG_NLS_ISO8859_14=m
+CONFIG_NLS_ISO8859_15=m
+CONFIG_NLS_KOI8_R=m
+CONFIG_NLS_KOI8_U=m
+CONFIG_NLS_UTF8=m
+
+#
+# Distributed Lock Manager
+#
+# CONFIG_DLM is not set
+
+#
+# Profiling support
+#
+# CONFIG_PROFILING is not set
+
+#
+# Kernel hacking
+#
+CONFIG_TRACE_IRQFLAGS_SUPPORT=y
+# CONFIG_PRINTK_TIME is not set
+CONFIG_ENABLE_MUST_CHECK=y
+# CONFIG_MAGIC_SYSRQ is not set
+# CONFIG_UNUSED_SYMBOLS is not set
+# CONFIG_DEBUG_FS is not set
+# CONFIG_HEADERS_CHECK is not set
+# CONFIG_DEBUG_KERNEL is not set
+CONFIG_LOG_BUF_SHIFT=14
+# CONFIG_DEBUG_BUGVERBOSE is not set
+# CONFIG_SH_STANDARD_BIOS is not set
+# CONFIG_EARLY_SCIF_CONSOLE is not set
+# CONFIG_KGDB is not set
+
+#
+# Security options
+#
+# CONFIG_KEYS is not set
+# CONFIG_SECURITY is not set
+
+#
+# Cryptographic options
+#
+CONFIG_CRYPTO=y
+CONFIG_CRYPTO_ALGAPI=y
+CONFIG_CRYPTO_BLKCIPHER=y
+CONFIG_CRYPTO_MANAGER=y
+# CONFIG_CRYPTO_HMAC is not set
+# CONFIG_CRYPTO_XCBC is not set
+# CONFIG_CRYPTO_NULL is not set
+CONFIG_CRYPTO_MD4=m
+CONFIG_CRYPTO_MD5=m
+CONFIG_CRYPTO_SHA1=m
+# CONFIG_CRYPTO_SHA256 is not set
+# CONFIG_CRYPTO_SHA512 is not set
+# CONFIG_CRYPTO_WP512 is not set
+# CONFIG_CRYPTO_TGR192 is not set
+# CONFIG_CRYPTO_GF128MUL is not set
+CONFIG_CRYPTO_ECB=y
+CONFIG_CRYPTO_CBC=m
+CONFIG_CRYPTO_PCBC=m
+# CONFIG_CRYPTO_LRW is not set
+# CONFIG_CRYPTO_DES is not set
+# CONFIG_CRYPTO_FCRYPT is not set
+# CONFIG_CRYPTO_BLOWFISH is not set
+# CONFIG_CRYPTO_TWOFISH is not set
+# CONFIG_CRYPTO_SERPENT is not set
+CONFIG_CRYPTO_AES=m
+# CONFIG_CRYPTO_CAST5 is not set
+# CONFIG_CRYPTO_CAST6 is not set
+# CONFIG_CRYPTO_TEA is not set
+CONFIG_CRYPTO_ARC4=y
+# CONFIG_CRYPTO_KHAZAD is not set
+# CONFIG_CRYPTO_ANUBIS is not set
+# CONFIG_CRYPTO_DEFLATE is not set
+CONFIG_CRYPTO_MICHAEL_MIC=m
+# CONFIG_CRYPTO_CRC32C is not set
+# CONFIG_CRYPTO_CAMELLIA is not set
+# CONFIG_CRYPTO_TEST is not set
+
+#
+# Hardware crypto devices
+#
+
+#
+# Library routines
+#
+CONFIG_BITREVERSE=y
+CONFIG_CRC_CCITT=m
+CONFIG_CRC16=m
+CONFIG_CRC32=y
+CONFIG_LIBCRC32C=m
+CONFIG_PLIST=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
diff --git a/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/git-20070405-2.patch b/packages/linux/linux-jlime-jornada6xx-2.6.21rc5/git-20070405-2.patch
new file mode 100644 (file)
index 0000000..205d62a
--- /dev/null
@@ -0,0 +1,1058 @@
+diff --git a/arch/sh/boards/hp6xx/setup.c b/arch/sh/boards/hp6xx/setup.c
+index b5a9664..5c6726d 100644
+--- a/arch/sh/boards/hp6xx/setup.c
++++ b/arch/sh/boards/hp6xx/setup.c
+@@ -2,6 +2,8 @@
+  * linux/arch/sh/boards/hp6xx/setup.c
+  *
+  * Copyright (C) 2002 Andriy Skulysh
++ * Copyright (C) 2007 Kristoffer Ericson <Kristoffer_e1@hotmail.com>
++ *
+  *
+  * May be copied or modified under the terms of the GNU General Public
+  * License.  See linux/COPYING for more information.
+@@ -10,6 +12,7 @@
+  */
+ #include <linux/types.h>
+ #include <linux/init.h>
++#include <linux/platform_device.h>
+ #include <asm/hd64461.h>
+ #include <asm/io.h>
+ #include <asm/irq.h>
+@@ -19,6 +22,41 @@
+ #define       SCPCR   0xa4000116
+ #define SCPDR 0xa4000136
++/* CF Slot */
++static struct resource cf_ide_resources[] = {
++              [0] = {
++                    .start = 0x15000000 + 0x1f0,
++                    .end   = 0x15000000 + 0x1f0 + 0x08 - 0x01,
++                    .flags = IORESOURCE_MEM,
++                  },
++            [1] = {
++                    .start = 0x15000000 + 0x1fe,
++                    .end   = 0x15000000 + 0x1fe + 0x01,
++                    .flags = IORESOURCE_MEM,
++                  },
++            [2] = {
++                    .start = 93,
++                    .flags = IORESOURCE_IRQ,
++                  },
++};
++
++static struct platform_device cf_ide_device = {
++              .name         =  "pata_platform",
++            .id           =  -1,
++            .num_resources = ARRAY_SIZE(cf_ide_resources),
++            .resource      = cf_ide_resources,
++};
++
++static struct platform_device *hp6xx_devices[] __initdata = {
++
++       &cf_ide_device,
++};
++
++static int __init hp6xx_devices_setup(void)
++{
++ return platform_add_devices(hp6xx_devices,ARRAY_SIZE(hp6xx_devices));
++}
++
+ static void __init hp6xx_setup(char **cmdline_p)
+ {
+       u8 v8;
+@@ -61,40 +99,12 @@ static void __init hp6xx_setup(char **cmdline_p)
+       ctrl_outw(v, SCPCR);
+ }
+-/*
+- * XXX: This is stupid, we should have a generic machine vector for the cchips
+- * and just wrap the platform setup code in to this, as it's the only thing
+- * that ends up being different.
+- */
++device_initcall(hp6xx_devices_setup);
++
+ struct sh_machine_vector mv_hp6xx __initmv = {
+       .mv_name = "hp6xx",
+       .mv_setup = hp6xx_setup,
+       .mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM,
+-
+-      .mv_inb = hd64461_inb,
+-      .mv_inw = hd64461_inw,
+-      .mv_inl = hd64461_inl,
+-      .mv_outb = hd64461_outb,
+-      .mv_outw = hd64461_outw,
+-      .mv_outl = hd64461_outl,
+-
+-      .mv_inb_p = hd64461_inb_p,
+-      .mv_inw_p = hd64461_inw,
+-      .mv_inl_p = hd64461_inl,
+-      .mv_outb_p = hd64461_outb_p,
+-      .mv_outw_p = hd64461_outw,
+-      .mv_outl_p = hd64461_outl,
+-
+-      .mv_insb = hd64461_insb,
+-      .mv_insw = hd64461_insw,
+-      .mv_insl = hd64461_insl,
+-      .mv_outsb = hd64461_outsb,
+-      .mv_outsw = hd64461_outsw,
+-      .mv_outsl = hd64461_outsl,
+-
+-      .mv_readw = hd64461_readw,
+-      .mv_writew = hd64461_writew,
+-
+       .mv_irq_demux = hd64461_irq_demux,
+ };
+ ALIAS_MV(hp6xx)
+diff --git a/arch/sh/cchips/hd6446x/hd64461/setup.c b/arch/sh/cchips/hd6446x/hd64461/setup.c
+index 4d49b5c..f59e73f 100644
+--- a/arch/sh/cchips/hd6446x/hd64461/setup.c
++++ b/arch/sh/cchips/hd6446x/hd64461/setup.c
+@@ -122,7 +122,7 @@ int hd64461_irq_demux(int irq)
+                       }
+               }
+       }
+-      return __irq_demux(irq);
++      return (irq);
+ }
+ static struct irqaction irq0 = { hd64461_interrupt, IRQF_DISABLED, CPU_MASK_NONE, "HD64461", NULL, NULL };
+diff --git a/arch/sh/drivers/dma/dma-sh.c b/arch/sh/drivers/dma/dma-sh.c
+index 06ed060..b56fab8 100644
+--- a/arch/sh/drivers/dma/dma-sh.c
++++ b/arch/sh/drivers/dma/dma-sh.c
+@@ -19,6 +19,13 @@
+ #include <asm/io.h>
+ #include "dma-sh.h"
++#ifdef CONFIG_CPU_SUBTYPE_SH7709
++       #define DMTE0_IRQ 48
++       #define DMTE1_IRQ 49
++       #define DMTE2_IRQ 50
++       #define DMTE3_IRQ 51
++#endif       
++
+ static int dmte_irq_map[] = {
+       DMTE0_IRQ,
+       DMTE1_IRQ,
+diff --git a/arch/sh/kernel/cpu/sh3/setup-sh7709.c b/arch/sh/kernel/cpu/sh3/setup-sh7709.c
+index dc9b211..3e9bb0c 100644
+--- a/arch/sh/kernel/cpu/sh3/setup-sh7709.c
++++ b/arch/sh/kernel/cpu/sh3/setup-sh7709.c
+@@ -52,20 +52,29 @@ static int __init sh7709_devices_setup(void)
+ }
+ __initcall(sh7709_devices_setup);
+-#define IPRx(A,N) .addr=A, .shift=0*N*-1
++#define IPRx(A,N) .addr=A, .shift=N
+ #define IPRA(N)       IPRx(0xfffffee2UL,N)
+ #define IPRB(N)       IPRx(0xfffffee4UL,N)
++#define IPRC(N) IPRx(0xa4000016UL,N)
++#define IPRD(N) IPRx(0xa4000018UL,N)
+ #define IPRE(N)       IPRx(0xa400001aUL,N)
+ static struct ipr_data sh7709_ipr_map[] = {
+-      [16]            = { IPRA(15-12), 2 }, /* TMU TUNI0 */
+-      [17]            = { IPRA(11-8),  4 }, /* TMU TUNI1 */
+-      [22]            = { IPRA(3-0),   2 }, /* RTC CUI */
+-      [23 ... 26]     = { IPRB(7-4),   3 }, /* SCI */
+-      [27]            = { IPRB(15-12), 2 }, /* WDT ITI */
+-      [48 ... 51]     = { IPRE(15-12), 7 }, /* DMA */
+-      [52 ... 55]     = { IPRE(11-8),  3 }, /* IRDA */
+-      [56 ... 59]     = { IPRE(7-4),   3 }, /* SCIF */
++      [16]            = { IPRA(12), 2 }, /* TMU TUNI0 */
++      [17]            = { IPRA(8),  4 }, /* TMU TUNI1 */
++      [18 ... 19]     = { IPRA(4),  1 }, /* TMU TUNI1 */
++      [20 ... 22]     = { IPRA(0),  2 }, /* RTC CUI */
++      [23 ... 26]     = { IPRB(4),  3 }, /* SCI */
++      [27]            = { IPRB(12), 2 }, /* WDT ITI */
++      [32]            = { IPRC(0),  1 }, /* IRQ 0 */
++      [33]            = { IPRC(4),  1 }, /* IRQ 1 */
++      [34]            = { IPRC(8),  1 }, /* IRQ 2 APM */
++      [35]            = { IPRC(12), 1 }, /* IRQ 3 TOUCHSCREEN */
++      [36]            = { IPRD(0),  1 }, /* IRQ 4 */
++      [37]            = { IPRD(4),  1 }, /* IRQ 5 */
++      [48 ... 51]     = { IPRE(12), 7 }, /* DMA */
++      [52 ... 55]     = { IPRE(8),  3 }, /* IRDA */
++      [56 ... 59]     = { IPRE(4),  3 }, /* SCIF */
+ };
+ void __init init_IRQ_ipr()
+diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig
+index f17e9c7..52a6323 100644
+--- a/drivers/input/keyboard/Kconfig
++++ b/drivers/input/keyboard/Kconfig
+@@ -68,6 +68,9 @@ config KEYBOARD_ATKBD_RDI_KEYCODES
+         right-hand column will be interpreted as the key shown in the
+         left-hand column.
++config KEYBOARD_HP680
++       tristate "HP 680 Keyboard Driver"
++
+ config KEYBOARD_SUNKBD
+       tristate "Sun Type 4 and Type 5 keyboard"
+       select SERIO
+diff --git a/drivers/input/keyboard/Makefile b/drivers/input/keyboard/Makefile
+index 586a0fe..09ee105 100644
+--- a/drivers/input/keyboard/Makefile
++++ b/drivers/input/keyboard/Makefile
+@@ -19,4 +19,4 @@ obj-$(CONFIG_KEYBOARD_HIL_OLD)               += hilkbd.o
+ obj-$(CONFIG_KEYBOARD_OMAP)           += omap-keypad.o
+ obj-$(CONFIG_KEYBOARD_AAED2000)               += aaed2000_kbd.o
+ obj-$(CONFIG_KEYBOARD_GPIO)           += gpio_keys.o
+-
++obj-$(CONFIG_KEYBOARD_HP680)            += scan_keyb.o hp680_keyb.o
+diff --git a/drivers/input/keyboard/hp680_keyb.c b/drivers/input/keyboard/hp680_keyb.c
+new file mode 100644
+index 0000000..d534a2c
+--- /dev/null
++++ b/drivers/input/keyboard/hp680_keyb.c
+@@ -0,0 +1,235 @@
++/*
++ * drivers/input/keyboard/hp680_keyb.c
++ *
++ * HP Jornada 680/690 scan keyboard
++ *
++ *  Copyright (C) 2005  Andriy Skulysh
++ *  Copyright (C) 2006  Paul Mundt
++ *  Copyright (C) 2007  Kristoffer Ericson
++ *
++ * Splited from drivers/input/keyboard/hp600_keyb.c
++ *
++ *    Copyright (C) 2000 YAEGASHI Takeshi
++ *    HP600 keyboard scan routine and translation table
++ *    Copyright (C) 2000 Niibe Yutaka
++ *    HP620 keyboard translation table
++ */
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/init.h>
++#include <asm/delay.h>
++#include <asm/io.h>
++#include "scan_keyb.h"
++
++#define PCCR 0xa4000104
++#define PDCR 0xa4000106
++#define PECR 0xa4000108
++#define PFCR 0xa400010a
++#define PCDR 0xa4000124
++#define PDDR 0xa4000126
++#define PEDR 0xa4000128
++#define PFDR 0xa400012a
++#define PGDR 0xa400012c
++#define PHDR 0xa400012e
++#define PJDR 0xa4000130
++#define PKDR 0xa4000132
++#define PLDR 0xa4000134
++
++/***************************************************************
++HP Jornada 680(SWEDISH version) keyboard 
++[!] indicates Special Characters 
++
++_______________________________________________________________________
++| ESC     F1  F2   F3   F4   F5   F6   F7   F8   F9   F10        POWER|
++|  1    2    3    4    5    6    7    8    9    0    +   `    BKPSPACE|
++|*    Q    W    E    R    T    Y    U    I    O    P    !    ^   ENTER|
++| TAB   A    S    D    F    G    H    J    K    L    !    !   '  ENTER|
++| SHIFT   Z    X    C    V    B    N    M    ,    .    -     UP  SHIFT|
++| CTRL  WIN  ALT  ?  =======SPACE========  ALTG  DEL    LEF  DO  RI   ]
++-----------------------------------------------------------------------
++
++
++****************************************************************/
++
++
++
++/****************************************************************
++HP Jornada 690(Japanese version) keyboard scan matrix
++
++      PTC7    PTC6    PTC5    PTC4    PTC3    PTC2    PTC1    PTC0
++PTD1  REC                     Escape  on/off  Han/Zen Hira    Eisu
++PTD5  REC                     Z       on/off  Enter   :       /
++PTD7  REC                                             Right   Down
++PTE0  REC                     Windows on/off
++PTE1  REC                     A       on/off  ]       [       ;
++PTE3  REC                     Tab     on/off  ShirtR  \       Up
++PTE6  REC                     Q       on/off  BS      @       P
++PTE7  REC                     1       on/off  ^       -       0
++
++      PTF7    PTF6    PTF5    PTF4    PTF3    PTF2    PTF1    PTF0
++PTD1  F5      F4      F6      F7      F8      F3      F2      F1
++PTD5  N       B       M       ,       .       V       C       X
++PTD7  Muhen   Alt                     Left
++PTE0                  Henkan  _       Del     Space           Ctrl
++PTE1  H       G       J       K       L       F       D       S
++PTE3                                                  ShiftL
++PTE6  Y       T       U       I       O       R       E       W
++PTE7  6       5       7       8       9       4       3       2
++
++      PTG5    PTG4    PTG3    PTG0    PTH0
++*     REC     REW     FWW     Cover   on/off
++
++
++              7       6       5       4       3       2       1       0
++C: 0xffff 0xdf        IP      IP      IP      IP      IP      IP      IP      IP
++D: 0x6786 0x59        O       I       O       IP      I       F       O       I
++E: 0x5045 0x00        O       O       F       F       O       F       O       O
++F: 0xffff 0xff        IP      IP      IP      IP      IP      IP      IP      IP
++G: 0xaffe 0xfd        I       I       IP      IP      IP      IP      IP      I
++H: 0x70f2 0x49        O       IP      F       F       IP      IP      F       I
++J: 0x0704 0x22        F       F       O       IP      F       F       O       F
++K: 0x0100 0x10        F       F       F       O       F       F       F       F
++L: 0x0c3c 0x26        F       F       IP      F       F       IP      IP      F
++
++****************************************************************/
++
++static const unsigned char hp680_japanese_table[] = {
++/*
++      /* PTD1 */
++      /*  ?    ?     ?     ?    Esc    ?     ?     ?  */
++      0x3a, 0x70, 0x29, 0x00, 0x01, 0x00, 0x00, 0x00,
++      /* F1   F2    F3     F8    F7    F6    F4    F5  */
++      0x3b, 0x3c, 0x3d, 0x42, 0x41, 0x40, 0x3e, 0x3f,
++
++      /* PTD5 */
++      /* /    :    Enter  ?      Z     ?     ?     ?  */      
++      0x35, 0x28, 0x1c, 0x00, 0x2c, 0x00, 0x00, 0x00,
++      /* X    C     V     .     ,     M     B     N  */
++      0x2d, 0x2e, 0x2f, 0x34, 0x33, 0x32, 0x30, 0x31,
++
++      /* PTD7 */
++      /* Down  Right   ?    ?     ?     ?     ?     ?   */    
++      0x50, 0x4d, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++      /*  ?    ?     ?    Left   ?     ?    Alt    ?  */
++      0x00, 0x00, 0x00, 0x4b, 0x00, 0x00, 0x38, 0x7b,
++
++      /* PTE0 */
++      /*   ?    ?      ?    ?    Win    ?     ?     ?  */     
++      0x00, 0x00, 0x00, 0x00, 0xdb, 0x00, 0x00, 0x00,
++      /* Ctrl  ?   Space  Del   _     ?     ?     ?    */ 
++      0x1d, 0x00, 0x39, 0x53, 0x73, 0xf9, 0x00, 0x00,
++
++      /* PTE1 */
++      /*  ;    [      ]    ?     A     ?      ?    ?     */
++      0x27, 0x1b, 0x2b, 0x00, 0x1e, 0x00, 0x00, 0x00,
++      /*  S    D     F     L     K      J     G    H     */
++      0x1f, 0x20, 0x21, 0x26, 0x25, 0x24, 0x22, 0x23,
++
++      /* PTE3 */
++      /*  Up     \    ShiftR    ?    Q     ?     ?     ? */   
++      0x48,   0x7d,  0x36,  0x00, 0x0f, 0x00, 0x00, 0x00,
++      /*  ?    ShiftL   ?     ?     ?     ?     ?     ?  */   
++      0x00,   0x2a,  0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++      
++      /* PTE6 */
++      /*  P     @     BS    ?     Q     ?     ?     ?  */
++      0x19, 0x1a, 0x0e, 0x00, 0x10, 0x00, 0x00, 0x00,
++      /*  W     E     R     O     I     U     T     Y  */     
++      0x11, 0x12, 0x13, 0x18, 0x17, 0x16, 0x14, 0x15,
++
++      /* PTE7 */
++      /*  0     +    =      ?     1     ?     ?     ?  */
++              0x0b, 0x0c, 0x0d, 0x00, 0x02, 0x00, 0x00, 0x00,
++      /*  2     3     4     9     8     7     5     6  */
++      0x03, 0x04, 0x05, 0x0a, 0x09, 0x08, 0x06, 0x07, 
++
++      /* **** */
++      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++      0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
++};
++
++static int hp680_japanese_scan_kbd(unsigned char *s)
++{
++      int i;
++      unsigned short ec_static,dc_static; /* = UINT16_t */
++        unsigned char matrix_switch[] = {
++              0xfd, 0xff,   /* PTD1 PD(1) */
++              0xdf, 0xff,   /* PTD5 PD(5) */
++              0x7f, 0xff,   /* PTD7 PD(7) */
++              0xff, 0xfe,   /* PTE0 PE(0) */
++              0xff, 0xfd,   /* PTE1 PE(1) */
++                0xff, 0xf7,   /* PTE3 PE(3) */
++              0xff, 0xbf,   /* PTE6 PE(6) */          
++                0xff, 0x7f,   /* PTE7 PE(7) */                
++      }, *t=matrix_switch;
++        /* PD(x) :
++      1.   0xcc0c & (1~(1 << (2*(x)+1)))))
++      2.   (0xf0cf & 0xfffff) */
++        /* PE(x) :
++      1.   0xcc0c & 0xffff
++      2.   0xf0cf & (1~(1 << (2*(x)+1))))) */
++        unsigned short matrix_PDE[] = {
++              0xcc04, 0xf0cf,  /* PD(1) */
++              0xc40c, 0xf0cf,  /* PD(5) */ 
++              0x4c0c, 0xf0cf,  /* PD(7) */
++              0xcc0c, 0xf0cd,  /* PE(0) */
++              0xcc0c, 0xf0c7,  /* PE(1) */
++              0xcc0c, 0xf04f,  /* PE(3) */
++              0xcc0c, 0xd0cf,  /* PE(6) */
++              0xcc0c, 0x70cf,  /* PE(7) */
++              }
++        , *y=matrix_PDE;
++      /* Save these control reg bits */
++      dc_static = (ctrl_inw(PDCR) & (~0xcc0c));
++        ec_static = (ctrl_inw(PECR) & (~0xf0cf));
++
++      for(i=0; i<8; i++) {
++                /* disable output for all but the one we want to scan */
++              ctrl_outw((dc_static | *y++), PDCR);
++              ctrl_outw((ec_static | *y++), PECR);
++                udelay(5);
++             
++              /* Get scanline row */
++              ctrl_outb(*t++, PDDR);
++              ctrl_outb(*t++, PEDR);
++                udelay(50);
++
++              /* Read data */
++              *s++=ctrl_inb(PCDR);
++              *s++=ctrl_inb(PFDR);
++      }
++        /* Scan no lines */
++      ctrl_outb(0xff, PDDR);
++      ctrl_outb(0xff, PEDR);
++        
++        /* Enable all scanlines */
++      ctrl_outw((dc_static | (0x5555 & 0xcc0c)),PDCR);
++      ctrl_outw((ec_static | (0x5555 & 0xf0cf)),PECR);
++        /* Ignore extra keys and events */
++
++      *s++=ctrl_inb(PGDR);
++      *s++=ctrl_inb(PHDR);
++ 
++      return 0;
++}
++
++static struct scan_keyboard hp680_kbd = {
++      .scan           = hp680_japanese_scan_kbd,
++      .table          = hp680_japanese_table,
++      .length         = 16,
++};
++
++static int __init hp680_kbd_init_hw(void)
++{
++      printk(KERN_INFO "HP680 matrix scan keyboard registered\n");
++      return register_scan_keyboard(&hp680_kbd);
++}
++
++static void __exit hp680_kbd_exit_hw(void)
++{
++      unregister_scan_keyboard(&hp680_kbd);
++}
++
++module_init(hp680_kbd_init_hw);
++module_exit(hp680_kbd_exit_hw);
++MODULE_LICENSE("GPL");
+diff --git a/drivers/input/keyboard/scan_keyb.c b/drivers/input/keyboard/scan_keyb.c
+new file mode 100644
+index 0000000..e65668b
+--- /dev/null
++++ b/drivers/input/keyboard/scan_keyb.c
+@@ -0,0 +1,148 @@
++/*
++ * Generic scan keyboard driver
++ *
++ * Copyright (C) 2000 YAEGASHI Takeshi
++ * Copyright (C) 2003 Andriy Skulysh
++ * Copyright (C) 2006 Paul Mundt
++ *
++ * This file is subject to the terms and conditions of the GNU General Public
++ * License.  See the file "COPYING" in the main directory of this archive
++ * for more details.
++ */
++
++#include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/sched.h>
++#include <linux/init.h>
++#include <linux/slab.h>
++#include <linux/interrupt.h>
++#include <linux/kbd_kern.h>
++#include <linux/input.h>
++#include <linux/timer.h>
++#include "scan_keyb.h"
++
++#define SCANHZ        (HZ/20)
++
++static int scan_jiffies;
++static struct scan_keyboard *keyboards;
++struct timer_list scan_timer;
++static char *hpkbd_name = "Hitachi scankeyboard";
++static char *hpkbd_phys = "input0";
++
++static void check_kbd(struct scan_keyboard *kbd,
++                    unsigned char *new, unsigned char *old)
++{
++      const unsigned char *table = kbd->table;
++      int length = kbd->length;
++      int need_tasklet_schedule = 0;
++      unsigned int xor, bit;
++
++      while (length-- > 0) {
++              if ((xor = *new ^ *old) == 0)
++                      table += 8;
++              else {
++                      for (bit = 0x01; bit < 0x100; bit <<= 1) {
++                              if (xor & bit) {
++                                      input_report_key(kbd->dev, *table,
++                                                       !(*new & bit));
++                                      need_tasklet_schedule = 1;
++                              }
++
++                              table++;
++                      }
++              }
++
++              new++;
++              old++;
++      }
++
++      if (need_tasklet_schedule) {
++              input_sync(kbd->dev);
++              tasklet_schedule(&keyboard_tasklet);
++      }
++}
++
++static void scan_kbd(unsigned long dummy)
++{
++      struct scan_keyboard *kbd;
++
++      scan_jiffies++;
++
++      for (kbd = keyboards; kbd != NULL; kbd = kbd->next) {
++              if (scan_jiffies & 1) {
++                      if (!kbd->scan(kbd->s0))
++                              check_kbd(kbd, kbd->s0, kbd->s1);
++                      else
++                              memcpy(kbd->s0, kbd->s1, kbd->length);
++              } else {
++                      if (!kbd->scan(kbd->s1))
++                              check_kbd(kbd, kbd->s1, kbd->s0);
++                      else
++                              memcpy(kbd->s1, kbd->s0, kbd->length);
++              }
++      }
++
++      mod_timer(&scan_timer, jiffies + SCANHZ);
++}
++
++int register_scan_keyboard(struct scan_keyboard *kbd)
++{
++      int i;
++
++      kbd->s0 = kmalloc(kbd->length, GFP_KERNEL);
++      if (kbd->s0 == NULL)
++              goto error;
++
++      kbd->s1 = kmalloc(kbd->length, GFP_KERNEL);
++      if (kbd->s1 == NULL)
++              goto error;
++
++      memset(kbd->s0, -1, kbd->length);
++      memset(kbd->s1, -1, kbd->length);
++
++      kbd->dev = input_allocate_device();
++      if (!kbd->dev)
++              goto error;
++
++      kbd->dev->name = hpkbd_name;
++      kbd->dev->phys = hpkbd_phys;
++      kbd->dev->evbit[0] = BIT(EV_KEY) | BIT(EV_REP);
++      //init_input_dev(kbd->dev);
++      kbd->dev->keycode = (unsigned char *)kbd->table;
++      kbd->dev->keycodesize = sizeof(unsigned char);
++      kbd->dev->keycodemax = ARRAY_SIZE(kbd->table);
++
++      for (i = 0; i < 128; i++)
++              if (kbd->table[i])
++                      set_bit(kbd->table[i], kbd->dev->keybit);
++
++      clear_bit(0, kbd->dev->keybit);
++      input_register_device(kbd->dev);
++
++      kbd->next = keyboards;
++      keyboards = kbd;
++
++      init_timer(&scan_timer);
++      scan_timer.expires = jiffies + SCANHZ;
++      scan_timer.data = 0;
++      scan_timer.function = scan_kbd;
++      add_timer(&scan_timer);
++
++      return 0;
++
++error:
++      kfree(kbd->s1);
++      kfree(kbd->s0);
++
++      return -ENOMEM;
++}
++EXPORT_SYMBOL_GPL(register_scan_keyboard);
++
++void unregister_scan_keyboard(struct scan_keyboard *kbd)
++{
++      del_timer_sync(&scan_timer);
++      keyboards = kbd->next;
++      input_unregister_device(kbd->dev);
++      input_free_device(kbd->dev);
++}
++EXPORT_SYMBOL_GPL(unregister_scan_keyboard);
+diff --git a/drivers/input/keyboard/scan_keyb.h b/drivers/input/keyboard/scan_keyb.h
+new file mode 100644
+index 0000000..e50510f
+--- /dev/null
++++ b/drivers/input/keyboard/scan_keyb.h
+@@ -0,0 +1,16 @@
++#ifndef       __DRIVER_CHAR_SCAN_KEYB_H
++#define       __DRIVER_CHAR_SCAN_KEYB_H
++
++struct scan_keyboard {
++      struct scan_keyboard *next;
++      int (*scan)(unsigned char *buffer);
++      const unsigned char *table;
++      unsigned char *s0, *s1;
++      int length;
++      struct input_dev *dev;
++};
++
++int register_scan_keyboard(struct scan_keyboard *);
++void unregister_scan_keyboard(struct scan_keyboard *);
++
++#endif
+diff --git a/drivers/input/touchscreen/hp680_ts_input.c b/drivers/input/touchscreen/hp680_ts_input.c
+index 2490874..0450d28 100644
+--- a/drivers/input/touchscreen/hp680_ts_input.c
++++ b/drivers/input/touchscreen/hp680_ts_input.c
+@@ -18,12 +18,12 @@
+ #define       PHDR    0xa400012e
+ #define SCPDR 0xa4000136
+-static void do_softint(void *data);
++static void do_softint(struct work_struct *work);
+ static struct input_dev *hp680_ts_dev;
+-static DECLARE_WORK(work, do_softint, 0);
++static DECLARE_DELAYED_WORK(work, do_softint);
+-static void do_softint(void *data)
++static void do_softint(struct work_struct *work)
+ {
+       int absx = 0, absy = 0;
+       u8 scpdr;
+@@ -68,9 +68,8 @@ static void do_softint(void *data)
+ static irqreturn_t hp680_ts_interrupt(int irq, void *dev)
+ {
+-      disable_irq_nosync(irq);
++        disable_irq_nosync(irq);
+       schedule_delayed_work(&work, HZ / 20);
+-
+       return IRQ_HANDLED;
+ }
+@@ -108,7 +107,7 @@ static int __init hp680_ts_init(void)
+       return 0;
+  fail2:       free_irq(HP680_TS_IRQ, NULL);
+-      cancel_delayed_work(&work);
++      cancel_delayed_work(&work); /* delay_ts->work */
+       flush_scheduled_work();
+  fail1:       input_free_device(hp680_ts_dev);
+       return err;
+diff --git a/drivers/video/backlight/hp680_bl.c b/drivers/video/backlight/hp680_bl.c
+index 0899fcc..109329a 100644
+--- a/drivers/video/backlight/hp680_bl.c
++++ b/drivers/video/backlight/hp680_bl.c
+@@ -125,8 +125,8 @@ static int hp680bl_remove(struct platform_device *pdev)
+ {
+       struct backlight_device *bd = platform_get_drvdata(pdev);
+-      hp680bl_data.brightness = 0;
+-      hp680bl_data.power = 0;
++//    hp680bl_data.brightness = 0;
++//    hp680bl_data.power = 0;
+       hp680bl_send_intensity(bd);
+       backlight_device_unregister(bd);
+diff --git a/include/asm-sh/hd64461.h b/include/asm-sh/hd64461.h
+index 27e5c34..cd2e5f9 100644
+--- a/include/asm-sh/hd64461.h
++++ b/include/asm-sh/hd64461.h
+@@ -9,111 +9,122 @@
+ /* Constants for PCMCIA mappings */
+ #define HD64461_PCC_WINDOW    0x01000000
+-#define HD64461_PCC0_BASE     0xb8000000      /* area 6 */
+-#define HD64461_PCC0_ATTR     (HD64461_PCC0_BASE)
+-#define HD64461_PCC0_COMM     (HD64461_PCC0_BASE+HD64461_PCC_WINDOW)
+-#define HD64461_PCC0_IO               (HD64461_PCC0_BASE+2*HD64461_PCC_WINDOW)
+-
+-#define HD64461_PCC1_BASE     0xb4000000      /* area 5 */
+-#define HD64461_PCC1_ATTR     (HD64461_PCC1_BASE)
+-#define HD64461_PCC1_COMM     (HD64461_PCC1_BASE+HD64461_PCC_WINDOW)
+-
+-#define HD64461_STBCR 0x10000
+-#define HD64461_STBCR_CKIO_STBY                       0x2000
+-#define HD64461_STBCR_SAFECKE_IST             0x1000
+-#define HD64461_STBCR_SLCKE_IST                       0x0800
+-#define HD64461_STBCR_SAFECKE_OST             0x0400
+-#define HD64461_STBCR_SLCKE_OST                       0x0200
+-#define HD64461_STBCR_SMIAST                  0x0100
+-#define HD64461_STBCR_SLCDST                  0x0080
+-#define HD64461_STBCR_SPC0ST                  0x0040
+-#define HD64461_STBCR_SPC1ST                  0x0020
+-#define HD64461_STBCR_SAFEST                  0x0010
+-#define HD64461_STBCR_STM0ST                  0x0008
+-#define HD64461_STBCR_STM1ST                  0x0004
+-#define HD64461_STBCR_SIRST                           0x0002
+-#define HD64461_STBCR_SURTST                  0x0001
+-
+-#define HD64461_SYSCR 0x10002
+-#define HD64461_SCPUCR        0x10004
+-
+-#define HD64461_LCDCBAR               0x11000
+-#define HD64461_LCDCLOR               0x11002
+-#define HD64461_LCDCCR                0x11004
+-#define HD64461_LCDCCR_STBACK 0x0400
+-#define HD64461_LCDCCR_STREQ  0x0100
+-#define HD64461_LCDCCR_MOFF   0x0080
+-#define HD64461_LCDCCR_REFSEL 0x0040
+-#define HD64461_LCDCCR_EPON   0x0020
+-#define HD64461_LCDCCR_SPON   0x0010
+-
+-#define       HD64461_LDR1            0x11010
++#define HD64461_PCC0_BASE     0xb8000000                               /* area 6 */
++#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 */
++
++#define HD64461_PCC1_BASE     0xb4000000                               /* area 5     */
++#define HD64461_PCC1_ATTR     (HD64461_PCC1_BASE)                      /* 0xb4000000 */
++#define HD64461_PCC1_COMM     (HD64461_PCC1_BASE+HD64461_PCC_WINDOW)   /* 0xb5000000 */
++
++/* if PORT < 0xf000 then ADDR = 0xa0000000 + PORT  */
++#define HD64461_STBCR                         (CONFIG_HD64461_IOBASE)
++#define HD64461_STBCR_CKIO_STBY                       0xa0002000
++#define HD64461_STBCR_SAFECKE_IST             0xa0001000
++#define HD64461_STBCR_SLCKE_IST                       0xa0000800
++#define HD64461_STBCR_SAFECKE_OST             0xa0000400
++#define HD64461_STBCR_SLCKE_OST                       0xa0000200
++#define HD64461_STBCR_SMIAST                  0xa0000100
++#define HD64461_STBCR_SLCDST                  0xa0000080
++#define HD64461_STBCR_SPC0ST                  0xa0000040
++#define HD64461_STBCR_SPC1ST                  0xa0000020
++#define HD64461_STBCR_SAFEST                  0xa0000010
++#define HD64461_STBCR_STM0ST                  0xa0000008
++#define HD64461_STBCR_STM1ST                  0xa0000004
++#define HD64461_STBCR_SIRST                   0xa0000002
++#define HD64461_STBCR_SURTST                  0xa0000001
++
++/* if PORT < 0x20000 then ADDR = CONFIG_HD64461_IOBASE + PORT - 0x10000 */
++#define HD64461_SYSCR         (CONFIG_HD64461_IOBASE + 0x10002 - 0x10000)
++#define HD64461_SCPUCR                (CONFIG_HD64461_IOBASE + 0x10004 - 0x10000)
++#define HD64461_LCDCBAR               (CONFIG_HD64461_IOBASE + 0x11000 - 0x10000)
++#define HD64461_LCDCLOR               (CONFIG_HD64461_IOBASE + 0x11002 - 0x10000)
++#define HD64461_LCDCCR                (CONFIG_HD64461_IOBASE + 0x11004 - 0x10000)
++
++
++/* if PORT < 0xf000 then ADDR = 0xa0000000 + PORT */
++#define HD64461_LCDCCR_STBACK (0xa0000000 + 0x0400)
++#define HD64461_LCDCCR_STREQ  (0xa0000000 + 0x0100)
++#define HD64461_LCDCCR_MOFF   (0xa0000000 + 0x0080)
++#define HD64461_LCDCCR_REFSEL (0xa0000000 + 0x0040)
++#define HD64461_LCDCCR_EPON   (0xa0000000 + 0x0020)
++#define HD64461_LCDCCR_SPON   (0xa0000000 + 0x0010)
++
++/* if PORT < 0x20000 then ADDR = CONFIG_HD64461_IOBASE + PORT - 0x10000 */
++#define       HD64461_LDR1            (CONFIG_HD64461_IOBASE + 0x11010 - 0x10000)
++
++/* if PORT < 0xf000 then ADDR = 0xa0000000 + PORT */
+ #define       HD64461_LDR1_DON        0x01
+ #define       HD64461_LDR1_DINV       0x80
+-#define       HD64461_LDR2            0x11012
+-#define       HD64461_LDHNCR          0x11014
+-#define       HD64461_LDHNSR          0x11016
+-#define HD64461_LDVNTR                0x11018
+-#define HD64461_LDVNDR                0x1101a
+-#define HD64461_LDVSPR                0x1101c
+-#define HD64461_LDR3          0x1101e
+-
+-#define HD64461_CPTWAR                0x11030
+-#define HD64461_CPTWDR                0x11032
+-#define HD64461_CPTRAR                0x11034
+-#define HD64461_CPTRDR                0x11036
+-
+-#define HD64461_GRDOR         0x11040
+-#define HD64461_GRSCR         0x11042
+-#define HD64461_GRCFGR                0x11044
++/* if PORT < 0x20000 then ADDR = CONFIG_HD64461_IOBASE + PORT - 0x10000 */
++#define       HD64461_LDR2            (CONFIG_HD64461_IOBASE +  0x11012 - 0x10000)
++#define       HD64461_LDHNCR          (CONFIG_HD64461_IOBASE +  0x11014 - 0x10000)
++#define       HD64461_LDHNSR          (CONFIG_HD64461_IOBASE +  0x11016 - 0x10000)
++#define HD64461_LDVNTR                (CONFIG_HD64461_IOBASE +  0x11018 - 0x10000)
++#define HD64461_LDVNDR                (CONFIG_HD64461_IOBASE +  0x1101a - 0x10000)
++#define HD64461_LDVSPR                (CONFIG_HD64461_IOBASE +  0x1101c - 0x10000)
++#define HD64461_LDR3          (CONFIG_HD64461_IOBASE +  0x1101e - 0x10000)
++
++#define HD64461_CPTWAR                (CONFIG_HD64461_IOBASE +  0x11030 - 0x10000)
++#define HD64461_CPTWDR                (CONFIG_HD64461_IOBASE +  0x11032 - 0x10000)
++#define HD64461_CPTRAR                (CONFIG_HD64461_IOBASE +  0x11034 - 0x10000)
++#define HD64461_CPTRDR                (CONFIG_HD64461_IOBASE +  0x11036 - 0x10000)
++
++#define HD64461_GRDOR         (CONFIG_HD64461_IOBASE +  0x11040 - 0x10000)
++#define HD64461_GRSCR         (CONFIG_HD64461_IOBASE +  0x11042 - 0x10000)
++#define HD64461_GRCFGR                (CONFIG_HD64461_IOBASE +  0x11044 - 0x10000)
++
+ #define HD64461_GRCFGR_ACCSTATUS              0x10
+ #define HD64461_GRCFGR_ACCRESET                       0x08
+-#define HD64461_GRCFGR_ACCSTART_BITBLT        0x06
+-#define HD64461_GRCFGR_ACCSTART_LINE  0x04
++#define HD64461_GRCFGR_ACCSTART_BITBLT                0x06
++#define HD64461_GRCFGR_ACCSTART_LINE          0x04
+ #define HD64461_GRCFGR_COLORDEPTH16           0x01
+-#define HD64461_LNSARH                0x11046
+-#define HD64461_LNSARL                0x11048
+-#define HD64461_LNAXLR                0x1104a
+-#define HD64461_LNDGR         0x1104c
+-#define HD64461_LNAXR         0x1104e
+-#define HD64461_LNERTR                0x11050
+-#define HD64461_LNMDR         0x11052
+-#define HD64461_BBTSSARH      0x11054
+-#define HD64461_BBTSSARL      0x11056
+-#define HD64461_BBTDSARH      0x11058
+-#define HD64461_BBTDSARL      0x1105a
+-#define HD64461_BBTDWR                0x1105c
+-#define HD64461_BBTDHR                0x1105e
+-#define HD64461_BBTPARH               0x11060
+-#define HD64461_BBTPARL               0x11062
+-#define HD64461_BBTMARH               0x11064
+-#define HD64461_BBTMARL               0x11066
+-#define HD64461_BBTROPR               0x11068
+-#define HD64461_BBTMDR                0x1106a
+-
++/* if PORT < 0x20000 then CONFIG_HD64461_IOBASE + PORT - 0x10000 */
++#define HD64461_LNSARH                (CONFIG_HD64461_IOBASE + 0x11046 - 0x10000)
++#define HD64461_LNSARL                (CONFIG_HD64461_IOBASE + 0x11048 - 0x10000)
++#define HD64461_LNAXLR                (CONFIG_HD64461_IOBASE + 0x1104a - 0x10000)
++#define HD64461_LNDGR         (CONFIG_HD64461_IOBASE + 0x1104c - 0x10000)
++#define HD64461_LNAXR         (CONFIG_HD64461_IOBASE + 0x1104e - 0x10000)
++#define HD64461_LNERTR                (CONFIG_HD64461_IOBASE + 0x11050 - 0x10000)
++#define HD64461_LNMDR         (CONFIG_HD64461_IOBASE + 0x11052 - 0x10000)
++#define HD64461_BBTSSARH      (CONFIG_HD64461_IOBASE + 0x11054 - 0x10000)
++#define HD64461_BBTSSARL      (CONFIG_HD64461_IOBASE + 0x11056 - 0x10000)
++#define HD64461_BBTDSARH      (CONFIG_HD64461_IOBASE + 0x11058 - 0x10000)
++#define HD64461_BBTDSARL      (CONFIG_HD64461_IOBASE + 0x1105a - 0x10000)
++#define HD64461_BBTDWR                (CONFIG_HD64461_IOBASE + 0x1105c - 0x10000)
++#define HD64461_BBTDHR                (CONFIG_HD64461_IOBASE + 0x1105e - 0x10000)
++#define HD64461_BBTPARH               (CONFIG_HD64461_IOBASE + 0x11060 - 0x10000)
++#define HD64461_BBTPARL               (CONFIG_HD64461_IOBASE + 0x11062 - 0x10000)
++#define HD64461_BBTMARH               (CONFIG_HD64461_IOBASE + 0x11064 - 0x10000)
++#define HD64461_BBTMARL               (CONFIG_HD64461_IOBASE + 0x11066 - 0x10000)
++#define HD64461_BBTROPR               (CONFIG_HD64461_IOBASE + 0x11068 - 0x10000)
++#define HD64461_BBTMDR                (CONFIG_HD64461_IOBASE + 0x1106a - 0x10000)
++
++/* These must be like this, otherwise the Jornada will not boot! */
+ /* PC Card Controller Registers */
+-#define HD64461_PCC0ISR         0x12000 /* socket 0 interface status */
+-#define HD64461_PCC0GCR         0x12002 /* socket 0 general control */
+-#define HD64461_PCC0CSCR        0x12004 /* socket 0 card status change */
+-#define HD64461_PCC0CSCIER      0x12006 /* socket 0 card status change interrupt enable */
+-#define HD64461_PCC0SCR         0x12008 /* socket 0 software control */
+-#define HD64461_PCC1ISR         0x12010 /* socket 1 interface status */
+-#define HD64461_PCC1GCR         0x12012 /* socket 1 general control */
+-#define HD64461_PCC1CSCR        0x12014 /* socket 1 card status change */
+-#define HD64461_PCC1CSCIER      0x12016 /* socket 1 card status change interrupt enable */
+-#define HD64461_PCC1SCR         0x12018 /* socket 1 software control */
++#define HD64461_PCC0ISR         (CONFIG_HD64461_IOBASE + 0x12000 - 0x10000)  /* socket 0 interface status */
++#define HD64461_PCC0GCR         (CONFIG_HD64461_IOBASE + 0x12002 - 0x10000)  /* socket 0 general control */
++#define HD64461_PCC0CSCR        (CONFIG_HD64461_IOBASE + 0x12004 - 0x10000)  /* socket 0 card status change */
++#define HD64461_PCC0CSCIER      (CONFIG_HD64461_IOBASE + 0x12006 - 0x10000)  /* socket 0 card status change interrupt enable */
++#define HD64461_PCC0SCR         (CONFIG_HD64461_IOBASE + 0x12008 - 0x10000)  /* socket 0 software control */
++#define HD64461_PCC1ISR         (CONFIG_HD64461_IOBASE + 0x12010 - 0x10000)  /* socket 1 interface status */
++#define HD64461_PCC1GCR         (CONFIG_HD64461_IOBASE + 0x12012 - 0x10000)  /* socket 1 general control */
++#define HD64461_PCC1CSCR        (CONFIG_HD64461_IOBASE + 0x12014 - 0x10000)  /* socket 1 card status change */
++#define HD64461_PCC1CSCIER      (CONFIG_HD64461_IOBASE + 0x12016 - 0x10000) /* socket 1 card status change interrupt enable */
++#define HD64461_PCC1SCR         (CONFIG_HD64461_IOBASE + 0x12018 - 0x10000) /* socket 1 software control */
+ /* PCC Interface Status Register */
+-#define HD64461_PCCISR_READY          0x80    /* card ready */
+-#define HD64461_PCCISR_MWP            0x40    /* card write-protected */
+-#define HD64461_PCCISR_VS2            0x20    /* voltage select pin 2 */
+-#define HD64461_PCCISR_VS1            0x10    /* voltage select pin 1 */
+-#define HD64461_PCCISR_CD2            0x08    /* card detect 2 */
+-#define HD64461_PCCISR_CD1            0x04    /* card detect 1 */
+-#define HD64461_PCCISR_BVD2           0x02    /* battery 1 */
+-#define HD64461_PCCISR_BVD1           0x01    /* battery 1 */
++#define HD64461_PCCISR_READY  0x80    /* card ready */
++#define HD64461_PCCISR_MWP    0x40    /* card write-protected */
++#define HD64461_PCCISR_VS2    0x20    /* voltage select pin 2 */
++#define HD64461_PCCISR_VS1    0x10    /* voltage select pin 1 */
++#define HD64461_PCCISR_CD2    0x08    /* card detect 2 */
++#define HD64461_PCCISR_CD1    0x04    /* card detect 1 */
++#define HD64461_PCCISR_BVD2   0x02    /* battery 1 */
++#define HD64461_PCCISR_BVD1   0x01    /* battery 1 */
+ #define HD64461_PCCISR_PCD_MASK               0x0c    /* card detect */
+ #define HD64461_PCCISR_BVD_MASK               0x03    /* battery voltage */
+@@ -160,29 +171,29 @@
+ #define HD64461_PCCSCR_VCC1           0x02    /* voltage control pin 1 */
+ #define HD64461_PCCSCR_SWP            0x01    /* write protect */
+-#define HD64461_P0OCR           0x1202a
+-#define HD64461_P1OCR           0x1202c
+-#define HD64461_PGCR            0x1202e
+-
+-#define HD64461_GPACR         0x14000
+-#define HD64461_GPBCR         0x14002
+-#define HD64461_GPCCR         0x14004
+-#define HD64461_GPDCR         0x14006
+-#define HD64461_GPADR         0x14010
+-#define HD64461_GPBDR         0x14012
+-#define HD64461_GPCDR         0x14014
+-#define HD64461_GPDDR         0x14016
+-#define HD64461_GPAICR                0x14020
+-#define HD64461_GPBICR                0x14022
+-#define HD64461_GPCICR                0x14024
+-#define HD64461_GPDICR                0x14026
+-#define HD64461_GPAISR                0x14040
+-#define HD64461_GPBISR                0x14042
+-#define HD64461_GPCISR                0x14044
+-#define HD64461_GPDISR                0x14046
+-
+-#define HD64461_NIRR          0x15000
+-#define HD64461_NIMR          0x15002
++#define HD64461_P0OCR           (CONFIG_HD64461_IOBASE + 0x1202a - 0x10000)
++#define HD64461_P1OCR           (CONFIG_HD64461_IOBASE + 0x1202c - 0x10000)
++#define HD64461_PGCR            (CONFIG_HD64461_IOBASE + 0x1202e - 0x10000)
++
++#define HD64461_GPACR         (CONFIG_HD64461_IOBASE + 0x14000 - 0x10000)
++#define HD64461_GPBCR         (CONFIG_HD64461_IOBASE + 0x14002 - 0x10000)
++#define HD64461_GPCCR         (CONFIG_HD64461_IOBASE + 0x14004 - 0x10000)
++#define HD64461_GPDCR         (CONFIG_HD64461_IOBASE + 0x14006 - 0x10000)
++#define HD64461_GPADR         (CONFIG_HD64461_IOBASE + 0x14010 - 0x10000)
++#define HD64461_GPBDR         (CONFIG_HD64461_IOBASE + 0x14012 - 0x10000)
++#define HD64461_GPCDR         (CONFIG_HD64461_IOBASE + 0x14014 - 0x10000)
++#define HD64461_GPDDR         (CONFIG_HD64461_IOBASE + 0x14016 - 0x10000)
++#define HD64461_GPAICR                (CONFIG_HD64461_IOBASE + 0x14020 - 0x10000)
++#define HD64461_GPBICR                (CONFIG_HD64461_IOBASE + 0x14022 - 0x10000)
++#define HD64461_GPCICR                (CONFIG_HD64461_IOBASE + 0x14024 - 0x10000)
++#define HD64461_GPDICR                (CONFIG_HD64461_IOBASE + 0x14026 - 0x10000)
++#define HD64461_GPAISR                (CONFIG_HD64461_IOBASE + 0x14040 - 0x10000)
++#define HD64461_GPBISR                (CONFIG_HD64461_IOBASE + 0x14042 - 0x10000)
++#define HD64461_GPCISR                (CONFIG_HD64461_IOBASE + 0x14044 - 0x10000)
++#define HD64461_GPDISR                (CONFIG_HD64461_IOBASE + 0x14046 - 0x10000)
++
++#define HD64461_NIRR          0xb0005000        /* 0x10005000 */
++#define HD64461_NIMR          0xb0005002        /* 0x10005002 */
+ #define HD64461_IRQBASE               OFFCHIP_IRQ_BASE
+ #define HD64461_IRQ_NUM               16
+diff --git a/include/asm-sh/io.h b/include/asm-sh/io.h
+index a0e55b0..08848ee 100644
+--- a/include/asm-sh/io.h
++++ b/include/asm-sh/io.h
+@@ -143,6 +143,7 @@ void __raw_readsl(unsigned long addr, void *data, int longlen);
+ #define readl_relaxed(a) readl(a)
+ /* Simple MMIO */
++#ifndef CONFIG_CPU_SUBTYPE_SH7709
+ #define ioread8(a)            readb(a)
+ #define ioread16(a)           readw(a)
+ #define ioread16be(a)         be16_to_cpu(__raw_readw((a)))
+@@ -154,6 +155,7 @@ void __raw_readsl(unsigned long addr, void *data, int longlen);
+ #define iowrite16be(v,a)      __raw_writew(cpu_to_be16((v)),(a))
+ #define iowrite32(v,a)                writel((v),(a))
+ #define iowrite32be(v,a)      __raw_writel(cpu_to_be32((v)),(a))
++#endif
+ #define ioread8_rep(a,d,c)    insb((a),(d),(c))
+ #define ioread16_rep(a,d,c)   insw((a),(d),(c))
+@@ -163,6 +165,20 @@ void __raw_readsl(unsigned long addr, void *data, int longlen);
+ #define iowrite16_rep(a,s,c)  outsw((a),(s),(c))
+ #define iowrite32_rep(a,s,c)  outsl((a),(s),(c))
++#ifdef CONFIG_CPU_SUBTYPE_SH7709
++ #define ioread8(a)             inb(a)
++ #define ioread16(a)            inw(a)
++ #define ioread16be(a)          be16_to_cpu(inw((a)))
++ #define ioread32(a)            inl(a)
++ #define ioread32be(v,a)        be32_to_cpu(inl((a)))
++ 
++ #define iowrite8(v,a)            outb((v),(a))
++ #define iowrite16(v,a)           outw((v),(a))
++ #define iowrite16be(v,a)         outw(cpu_to_be16((v),(a)))
++ #define iowrite32(v,a)           outl((v),(a))
++ #define iowrite32be(v,a)         outl(cpu_to_be32((v),(a)))
++#endif
++
+ #define mmiowb()      wmb()   /* synco on SH-4A, otherwise a nop */
+ /*
+diff --git a/include/asm-sh/irq.h b/include/asm-sh/irq.h
+index afe188f..95f9a1a 100644
+--- a/include/asm-sh/irq.h
++++ b/include/asm-sh/irq.h
+@@ -23,6 +23,40 @@
+       defined(CONFIG_CPU_SUBTYPE_SH7705)
+ # define ONCHIP_NR_IRQS 64    // Actually 61
+ # define PINT_NR_IRQS   16
++   
++   #define INTC_IRR0    0xa4000004UL
++   #define INTC_IRR1    0xa4000006UL
++   #define INTC_IRR2    0xa4000008UL
++   
++   #define INTC_IPRA    0xfffffee2UL
++   #define INTC_IPRB    0xfffffee4UL
++   #define INTC_IPRD    0xa4000018UL
++   
++   #define INTC_INTER   0xa4000014UL
++      
++   #define INTC_ICR0    0xfffffee0UL
++   #define INTC_ICR1    0xa4000010UL
++   #define INTC_ICR2    0xa4000012UL
++
++   #define PORT_PACR    0xa4000100UL
++   #define PORT_PBCR    0xa4000102UL
++   #define PORT_PCCR    0xa4000104UL
++   #define PORT_PFCR    0xa400010aUL
++   
++   #define PORT_PADR    0xa4000120UL
++   #define PORT_PBDR    0xa4000122UL
++   #define PORT_PCDR    0xa4000124UL
++   #define PORT_PFDR    0xa400012aUL
++    
++   #define PINT0_IRQ      40
++   #define PINT8_IRQ      41
++   #define PINT0_IPR_ADDR INTC_IPRD
++   #define PINT8_IPR_ADDR INTC_IPRD
++   #define PINT0_IPR_POS  3
++   #define PINT8_IPR_POS  2
++   #define PINT0_PRIORITY 2
++   #define PINT8_PRIORITY 2
++   
+ #elif defined(CONFIG_CPU_SUBTYPE_SH7710)
+ # define ONCHIP_NR_IRQS 104
+ #elif defined(CONFIG_CPU_SUBTYPE_SH7750)
+diff --git a/sound/oss/sh_dac_audio.c b/sound/oss/sh_dac_audio.c
+index 7ea9acc..dcfcad0 100644
+--- a/sound/oss/sh_dac_audio.c
++++ b/sound/oss/sh_dac_audio.c
+@@ -32,6 +32,7 @@
+ #define MODNAME "sh_dac_audio"
+ #define TMU_TOCR_INIT 0x00
++#define TIMER1_IRQ      14
+ #define TMU1_TCR_INIT 0x0020  /* Clock/4, rising edge; interrupt on */
+ #define TMU1_TSTR_INIT  0x02  /* Bit to turn on TMU1 */
+@@ -104,7 +105,7 @@ static void dac_audio_set_rate(void)
+       unsigned long interval;
+       struct clk *clk;
+-      clk = clk_get("module_clk");
++      clk = clk_get("module_clk", NULL);
+       interval = (clk_get_rate(clk) / 4) / rate;
+       clk_put(clk);
+       ctrl_outl(interval, TMU1_TCOR);
diff --git a/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb b/packages/linux/linux-jlime-jornada6xx_2.6.21rc5.bb
new file mode 100644 (file)
index 0000000..f38fa5c
--- /dev/null
@@ -0,0 +1,32 @@
+SECTION = "kernel"
+DESCRIPTION = "JLime Linux kernel for SuperH based Jornada 6xx"
+LICENSE = "GPL"
+PR = "r0"
+
+COMPATIBLE_HOST = "sh.*-linux"
+#COMPATIBLE_MACHINE = "jornada6xx"
+
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=v2.6.21-rc5 \
+           file://git-20070405-2.patch;patch=1 \
+           file://defconfig"
+          
+
+S = "${WORKDIR}/linux-${PV}"
+
+inherit kernel
+
+#Lets let 3.4.x handle the compilation of this one
+KERNEL_CCSUFFIX = "-3.4.4"
+
+ARCH = "sh"
+KERNEL_IMAGETYPE = "zImage"
+FILES_kernel-image = "/boot/${KERNEL_IMAGETYPE}*"
+
+do_configure_prepend() {
+       install -m 0644 ${WORKDIR}/defconfig ${S}/.config
+}
+
+do_deploy() {
+        install -d ${DEPLOY_DIR_IMAGE}
+       install -m 0644 arch/$(ARCH)/boot/$(KERNEL_IMAGETYPE) $(DEPLOY_DIR)/images/$(KERNEL_IMAGETYPE)
+}