BOARDNAME:=RDC 321x
FEATURES:=squashfs jffs2 pci
-LINUX_VERSION:=2.6.24.7
+LINUX_VERSION:=2.6.25.4
include $(INCLUDE_DIR)/target.mk
--- /dev/null
+# CONFIG_60XX_WDT is not set
+# CONFIG_64BIT is not set
+# CONFIG_8139TOO is not set
+# CONFIG_ACQUIRE_WDT is not set
+CONFIG_ADM6996_PHY=y
+# CONFIG_ADVANTECH_WDT is not set
+# CONFIG_AGP is not set
+# CONFIG_ALIM1535_WDT is not set
+# CONFIG_ALIM7101_WDT is not set
+CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
+CONFIG_ARCH_HAS_CPU_RELAX=y
+# CONFIG_ARCH_HAS_ILOG2_U32 is not set
+# CONFIG_ARCH_HAS_ILOG2_U64 is not set
+CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_MAY_HAVE_PC_FDC=y
+CONFIG_ARCH_POPULATES_NODE_MAP=y
+CONFIG_ARCH_SUPPORTS_AOUT=y
+# CONFIG_ARCH_SUPPORTS_MSI is not set
+CONFIG_ARCH_SUSPEND_POSSIBLE=y
+CONFIG_ATA=m
+# CONFIG_ATA_NONSTANDARD is not set
+CONFIG_ATA_PIIX=m
+# CONFIG_AUDIT_ARCH is not set
+CONFIG_BASE_SMALL=0
+CONFIG_BINFMT_AOUT=m
+CONFIG_BINFMT_MISC=m
+CONFIG_BITREVERSE=y
+CONFIG_BLK_DEV_IDE=m
+CONFIG_BLK_DEV_IDEDISK=m
+# CONFIG_BLK_DEV_IDEDMA is not set
+CONFIG_BOUNCE=y
+# CONFIG_BROADCOM_PHY is not set
+CONFIG_CLASSIC_RCU=y
+CONFIG_CLOCKSOURCE_WATCHDOG=y
+# CONFIG_COMPAT_VDSO is not set
+# CONFIG_CPU5_WDT is not set
+# CONFIG_CPU_FREQ is not set
+# CONFIG_CPU_IDLE is not set
+CONFIG_CRYPTO_AEAD=m
+CONFIG_CRYPTO_AES_586=m
+CONFIG_CRYPTO_AUTHENC=m
+CONFIG_CRYPTO_GF128MUL=m
+# CONFIG_CRYPTO_SALSA20_586 is not set
+CONFIG_CRYPTO_TWOFISH_586=m
+# CONFIG_CS5535_GPIO is not set
+# CONFIG_DCDBAS is not set
+# CONFIG_DEBUG_BUGVERBOSE is not set
+CONFIG_DEFAULT_CFQ=y
+# CONFIG_DEFAULT_DEADLINE is not set
+CONFIG_DEFAULT_IOSCHED="cfq"
+CONFIG_DEFAULT_IO_DELAY_TYPE=0
+CONFIG_DEFCONFIG_LIST="arch/x86/configs/i386_defconfig"
+# CONFIG_DELL_RBU is not set
+CONFIG_DEVPORT=y
+# CONFIG_DMADEVICES is not set
+CONFIG_DMI=y
+CONFIG_DMIID=y
+CONFIG_DOUBLEFAULT=y
+# CONFIG_E100 is not set
+# CONFIG_E1000E_ENABLED is not set
+CONFIG_EARLY_PRINTK=y
+# CONFIG_EDAC is not set
+# CONFIG_EDD is not set
+# CONFIG_EUROTECH_WDT is not set
+CONFIG_FAST_CMPXCHG_LOCAL=y
+CONFIG_FIXED_PHY=y
+CONFIG_FIX_EARLYCON_MEM=y
+CONFIG_FS_POSIX_ACL=y
+CONFIG_GENERIC_BUG=y
+CONFIG_GENERIC_CLOCKEVENTS=y
+CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
+CONFIG_GENERIC_CMOS_UPDATE=y
+# CONFIG_GENERIC_CPU is not set
+CONFIG_GENERIC_GPIO=y
+CONFIG_GENERIC_IOMAP=y
+CONFIG_GENERIC_ISA_DMA=y
+# CONFIG_GENERIC_LOCKBREAK is not set
+# CONFIG_GENERIC_TIME_VSYSCALL is not set
+# CONFIG_GEN_RTC is not set
+# CONFIG_HANGCHECK_TIMER is not set
+CONFIG_HAS_DMA=y
+CONFIG_HAS_IOMEM=y
+CONFIG_HAS_IOPORT=y
+CONFIG_HAVE_IDE=y
+CONFIG_HAVE_KPROBES=y
+CONFIG_HAVE_KRETPROBES=y
+CONFIG_HAVE_KVM=y
+CONFIG_HAVE_LATENCYTOP_SUPPORT=y
+CONFIG_HAVE_OPROFILE=y
+# CONFIG_HAVE_SETUP_PER_CPU_AREA is not set
+CONFIG_HID=m
+CONFIG_HID_SUPPORT=y
+# CONFIG_HIGHMEM4G is not set
+# CONFIG_HIGHMEM64G is not set
+# CONFIG_HIGH_RES_TIMERS is not set
+# CONFIG_HPET_TIMER is not set
+# CONFIG_HP_WATCHDOG is not set
+CONFIG_HUGETLBFS=y
+CONFIG_HUGETLB_PAGE=y
+CONFIG_HW_RANDOM=y
+# CONFIG_HW_RANDOM_AMD is not set
+# CONFIG_HW_RANDOM_GEODE is not set
+# CONFIG_HW_RANDOM_INTEL is not set
+# CONFIG_HW_RANDOM_VIA is not set
+CONFIG_HZ=250
+# CONFIG_HZ_100 is not set
+CONFIG_HZ_250=y
+CONFIG_I2C=m
+# CONFIG_I2C_ALGOBIT is not set
+CONFIG_I2C_BOARDINFO=y
+# CONFIG_I6300ESB_WDT is not set
+# CONFIG_I8K is not set
+# CONFIG_IB700_WDT is not set
+# CONFIG_IBMASR is not set
+# CONFIG_IBM_ASM is not set
+# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
+# CONFIG_IBM_NEW_EMAC_RGMII is not set
+# CONFIG_IBM_NEW_EMAC_TAH is not set
+# CONFIG_IBM_NEW_EMAC_ZMII is not set
+CONFIG_ICPLUS_PHY=y
+CONFIG_IDE=m
+CONFIG_IDE_ARCH_OBSOLETE_INIT=y
+# CONFIG_IDE_GENERIC is not set
+# CONFIG_IDE_PROC_FS is not set
+CONFIG_INITRAMFS_SOURCE=""
+CONFIG_INPUT=m
+# CONFIG_INPUT_APANEL is not set
+# CONFIG_INPUT_GPIO_BUTTONS is not set
+CONFIG_INPUT_MISC=y
+CONFIG_INPUT_YEALINK=m
+# CONFIG_IOMMU_HELPER is not set
+CONFIG_IOSCHED_CFQ=y
+# CONFIG_IOSCHED_DEADLINE is not set
+CONFIG_IO_DELAY_0X80=y
+# CONFIG_IO_DELAY_0XED is not set
+# CONFIG_IO_DELAY_NONE is not set
+CONFIG_IO_DELAY_TYPE_0X80=0
+CONFIG_IO_DELAY_TYPE_0XED=1
+CONFIG_IO_DELAY_TYPE_NONE=3
+CONFIG_IO_DELAY_TYPE_UDELAY=2
+# CONFIG_IO_DELAY_UDELAY is not set
+# CONFIG_IPWIRELESS is not set
+# CONFIG_ISA is not set
+CONFIG_ISA_DMA_API=y
+# CONFIG_IT8712F_WDT is not set
+# CONFIG_ITCO_WDT is not set
+CONFIG_JFS_FS=m
+CONFIG_KEXEC=y
+CONFIG_KTIME_SCALAR=y
+# CONFIG_KVM is not set
+# CONFIG_LATENCYTOP is not set
+# CONFIG_LEDS_ALIX is not set
+CONFIG_LEDS_GPIO=y
+# CONFIG_LGUEST is not set
+CONFIG_LSF=y
+CONFIG_LZO_COMPRESS=m
+CONFIG_LZO_DECOMPRESS=m
+# CONFIG_M386 is not set
+CONFIG_M486=y
+# CONFIG_M586 is not set
+# CONFIG_M586MMX is not set
+# CONFIG_M586TSC is not set
+# CONFIG_M686 is not set
+# CONFIG_MACHZ_WDT is not set
+# CONFIG_MACINTOSH_DRIVERS is not set
+CONFIG_MATH_EMULATION=y
+# CONFIG_MCA is not set
+# CONFIG_MCORE2 is not set
+# CONFIG_MCRUSOE is not set
+# CONFIG_MCYRIXIII is not set
+CONFIG_MDIO_BITBANG=y
+# CONFIG_MEFFICEON is not set
+# CONFIG_MEMSTICK is not set
+# CONFIG_MGEODEGX1 is not set
+# CONFIG_MGEODE_LX is not set
+# CONFIG_MICROCODE is not set
+# CONFIG_MK6 is not set
+# CONFIG_MK7 is not set
+# CONFIG_MK8 is not set
+CONFIG_MODULE_FORCE_UNLOAD=y
+# CONFIG_MPENTIUM4 is not set
+# CONFIG_MPENTIUMII is not set
+# CONFIG_MPENTIUMIII is not set
+# CONFIG_MPENTIUMM is not set
+# CONFIG_MPSC is not set
+CONFIG_MTD=y
+# CONFIG_MTD_ABSENT is not set
+CONFIG_MTD_BLKDEVS=y
+CONFIG_MTD_BLOCK=y
+# CONFIG_MTD_BLOCK2MTD is not set
+CONFIG_MTD_CFI=y
+# CONFIG_MTD_CFI_ADV_OPTIONS is not set
+CONFIG_MTD_CFI_AMDSTD=y
+CONFIG_MTD_CFI_I1=y
+CONFIG_MTD_CFI_I2=y
+# CONFIG_MTD_CFI_I4 is not set
+# CONFIG_MTD_CFI_I8 is not set
+# CONFIG_MTD_CFI_INTELEXT is not set
+# CONFIG_MTD_CFI_STAA is not set
+CONFIG_MTD_CFI_UTIL=y
+CONFIG_MTD_CHAR=y
+CONFIG_MTD_CMDLINE_PARTS=y
+# CONFIG_MTD_COMPLEX_MAPPINGS is not set
+CONFIG_MTD_CONCAT=y
+# CONFIG_MTD_DEBUG is not set
+# CONFIG_MTD_DOC2000 is not set
+# CONFIG_MTD_DOC2001 is not set
+# CONFIG_MTD_DOC2001PLUS is not set
+CONFIG_MTD_GEN_PROBE=y
+# CONFIG_MTD_JEDECPROBE is not set
+CONFIG_MTD_MAP_BANK_WIDTH_1=y
+# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_2=y
+# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
+CONFIG_MTD_MAP_BANK_WIDTH_4=y
+# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
+# CONFIG_MTD_MTDRAM is not set
+# CONFIG_MTD_NETSC520 is not set
+# CONFIG_MTD_ONENAND is not set
+CONFIG_MTD_PARTITIONS=y
+# CONFIG_MTD_PHRAM is not set
+# CONFIG_MTD_PHYSMAP is not set
+# CONFIG_MTD_PLATRAM is not set
+# CONFIG_MTD_PMC551 is not set
+# CONFIG_MTD_RAM is not set
+CONFIG_MTD_RDC3210=y
+CONFIG_MTD_RDC3210_ALLOW_JFFS2=y
+CONFIG_MTD_RDC3210_BUSWIDTH=2
+# CONFIG_MTD_RDC3210_FACTORY_PRESENT is not set
+CONFIG_MTD_RDC3210_SIZE=0x400000
+# CONFIG_MTD_RDC3210_STATIC_MAP is not set
+# CONFIG_MTD_REDBOOT_PARTS is not set
+# CONFIG_MTD_ROM is not set
+# CONFIG_MTD_SC520CDP is not set
+# CONFIG_MTD_SLRAM is not set
+# CONFIG_MTD_TS5500 is not set
+# CONFIG_MTRR is not set
+# CONFIG_MVIAC3_2 is not set
+# CONFIG_MVIAC7 is not set
+# CONFIG_MWINCHIP2 is not set
+# CONFIG_MWINCHIP3D is not set
+# CONFIG_MWINCHIPC6 is not set
+# CONFIG_NATSEMI is not set
+# CONFIG_NE2K_PCI is not set
+# CONFIG_NET_VENDOR_3COM is not set
+CONFIG_NLS_ISO8859_2=m
+CONFIG_NOHIGHMEM=y
+CONFIG_NO_HZ=y
+# CONFIG_NSC_GPIO is not set
+CONFIG_NVRAM=y
+CONFIG_PAGE_OFFSET=0xC0000000
+# CONFIG_PARAVIRT_GUEST is not set
+CONFIG_PATA_ARTOP=m
+# CONFIG_PATA_CS5536 is not set
+# CONFIG_PC8736x_GPIO is not set
+# CONFIG_PC87413_WDT is not set
+CONFIG_PCCARD=m
+CONFIG_PCCARD_NONSTATIC=m
+CONFIG_PCI=y
+# CONFIG_PCIEPORTBUS is not set
+# CONFIG_PCIPCWATCHDOG is not set
+CONFIG_PCI_BIOS=y
+CONFIG_PCI_DIRECT=y
+CONFIG_PCI_DOMAINS=y
+CONFIG_PCI_GOANY=y
+# CONFIG_PCI_GOBIOS is not set
+# CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOMMCONFIG is not set
+CONFIG_PCMCIA=m
+CONFIG_PHYLIB=y
+CONFIG_PHYSICAL_ALIGN=0x100000
+CONFIG_PHYSICAL_START=0x100000
+# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
+# CONFIG_QSEMI_PHY is not set
+CONFIG_R6040=m
+CONFIG_REALTEK_PHY=y
+CONFIG_RELOCATABLE=y
+# CONFIG_RTC is not set
+# CONFIG_RWSEM_GENERIC_SPINLOCK is not set
+CONFIG_RWSEM_XCHGADD_ALGORITHM=y
+# CONFIG_SBC7240_WDT is not set
+# CONFIG_SBC8360_WDT is not set
+# CONFIG_SBC_EPX_C3_WATCHDOG is not set
+# CONFIG_SC1200_WDT is not set
+# CONFIG_SC520_WDT is not set
+# CONFIG_SCHED_HRTICK is not set
+# CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER is not set
+# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set
+# CONFIG_SCSI_MULTI_LUN is not set
+CONFIG_SCSI_WAIT_SCAN=m
+# CONFIG_SCx200 is not set
+# CONFIG_SCx200_ACB is not set
+CONFIG_SEMAPHORE_SLEEPERS=y
+# CONFIG_SERIAL_8250_EXTENDED is not set
+CONFIG_SLABINFO=y
+# CONFIG_SMP is not set
+# CONFIG_SMSC37B787_WDT is not set
+# CONFIG_SMSC_PHY is not set
+# CONFIG_SND_SIS7019 is not set
+CONFIG_SOFT_WATCHDOG=m
+# CONFIG_SONYPI is not set
+# CONFIG_SPARSEMEM_STATIC is not set
+# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set
+CONFIG_SSB_POSSIBLE=y
+CONFIG_SYSVIPC_SYSCTL=y
+# CONFIG_TELCLOCK is not set
+# CONFIG_THERMAL is not set
+CONFIG_TICK_ONESHOT=y
+# CONFIG_TOSHIBA is not set
+CONFIG_UID16=y
+CONFIG_USB=m
+# CONFIG_USBPCWATCHDOG is not set
+CONFIG_USB_EHCI_HCD=m
+# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set
+# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set
+CONFIG_USB_OHCI_HCD=m
+CONFIG_USB_PWC=m
+# CONFIG_USB_PWC_DEBUG is not set
+# CONFIG_USB_R8A66597_HCD is not set
+# CONFIG_USB_SERIAL_CH341 is not set
+# CONFIG_USB_SERIAL_OTI6858 is not set
+# CONFIG_USB_UHCI_HCD is not set
+CONFIG_V4L_USB_DRIVERS=y
+# CONFIG_VGASTATE is not set
+# CONFIG_VIA_RHINE is not set
+CONFIG_VIDEO_CAPTURE_DRIVERS=y
+CONFIG_VIDEO_CPIA2=m
+CONFIG_VIDEO_V4L1=y
+CONFIG_VIDEO_V4L2_COMMON=m
+# CONFIG_VIRTIO_BALLOON is not set
+# CONFIG_VIRTIO_PCI is not set
+CONFIG_VIRTUALIZATION=y
+# CONFIG_VM86 is not set
+# CONFIG_VMSPLIT_1G is not set
+# CONFIG_VMSPLIT_2G is not set
+# CONFIG_VMSPLIT_2G_OPT is not set
+CONFIG_VMSPLIT_3G=y
+# CONFIG_VMSPLIT_3G_OPT is not set
+CONFIG_VM_EVENT_COUNTERS=y
+# CONFIG_WAFER_WDT is not set
+CONFIG_X86=y
+CONFIG_X86_32=y
+# CONFIG_X86_64 is not set
+CONFIG_X86_ALIGNMENT_16=y
+# CONFIG_X86_BIGSMP is not set
+CONFIG_X86_BIOS_REBOOT=y
+CONFIG_X86_BSWAP=y
+CONFIG_X86_CMPXCHG=y
+CONFIG_X86_CPUID=y
+# CONFIG_X86_ELAN is not set
+# CONFIG_X86_ES7000 is not set
+CONFIG_X86_F00F_BUG=y
+# CONFIG_X86_GENERIC is not set
+# CONFIG_X86_GENERICARCH is not set
+CONFIG_X86_INVLPG=y
+CONFIG_X86_L1_CACHE_SHIFT=4
+# CONFIG_X86_MCE is not set
+CONFIG_X86_MINIMUM_CPU_FAMILY=4
+CONFIG_X86_MSR=y
+# CONFIG_X86_NUMAQ is not set
+# CONFIG_X86_PAE is not set
+# CONFIG_X86_PC is not set
+CONFIG_X86_POPAD_OK=y
+# CONFIG_X86_PPRO_FENCE is not set
+CONFIG_X86_RDC321X=y
+CONFIG_X86_REBOOTFIXUPS=y
+# CONFIG_X86_SUMMIT is not set
+# CONFIG_X86_UP_APIC is not set
+# CONFIG_X86_VISWS is not set
+# CONFIG_X86_VOYAGER is not set
+# CONFIG_X86_VSMP is not set
+CONFIG_X86_WP_WORKS_OK=y
+CONFIG_X86_XADD=y
+# CONFIG_ZONE_DMA32 is not set
+++ /dev/null
-#include <linux/init.h>
-#include <linux/bitops.h>
-#include <linux/mm.h>
-#include <asm/io.h>
-#include <asm/processor.h>
-
-#include "cpu.h"
-
-static struct cpu_dev rdc_cpu_dev __cpuinitdata = {
- .c_vendor = "RDC",
- .c_models = {
- { .vendor = X86_VENDOR_RDC, .family = 4, .model_names =
- {
- [0] = "R861x(-G)",
- }
- },
- },
-};
-
-int __init rdc_init_cpu(void)
-{
- cpu_devs[X86_VENDOR_RDC] = &rdc_cpu_dev;
- return 0;
-}
+++ /dev/null
-#
-# Makefile for the RDC321x specific parts of the kernel
-#
-obj-$(CONFIG_X86_RDC) := gpio.o platform.o wdt.o
-
+++ /dev/null
-/*
- * Copyright (C) 2007, OpenWrt.org, Florian Fainelli <florian@openwrt.org>
- * RDC321x architecture specific GPIO support
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- */
-
-#include <linux/autoconf.h>
-#include <linux/init.h>
-#include <linux/io.h>
-#include <linux/types.h>
-#include <linux/module.h>
-#include <linux/delay.h>
-
-#include <asm/mach-rdc/rdc321x_defs.h>
-
-static inline int rdc_gpio_is_valid(unsigned gpio)
-{
- return (gpio <= RDC_MAX_GPIO);
-}
-
-static unsigned int rdc_gpio_read(unsigned gpio)
-{
- unsigned int val;
-
- val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x84:0x48));
- outl(val, RDC3210_CFGREG_ADDR);
- udelay(10);
- val = inl(RDC3210_CFGREG_DATA);
- val |= (0x1 << (gpio & 0x1F));
- outl(val, RDC3210_CFGREG_DATA);
- udelay(10);
- val = 0x80000000 | (7 << 11) | ((gpio&0x20?0x88:0x4C));
- outl(val, RDC3210_CFGREG_ADDR);
- udelay(10);
- val = inl(RDC3210_CFGREG_DATA);
-
- return val;
-}
-
-static void rdc_gpio_write(unsigned int val)
-{
- if (val) {
- outl(val, RDC3210_CFGREG_DATA);
- udelay(10);
- }
-}
-
-int rdc_gpio_get_value(unsigned gpio)
-{
- if (rdc_gpio_is_valid(gpio))
- return (int)rdc_gpio_read(gpio);
- else
- return -EINVAL;
-}
-EXPORT_SYMBOL(rdc_gpio_get_value);
-
-void rdc_gpio_set_value(unsigned gpio, int value)
-{
- unsigned int val;
-
- if (!rdc_gpio_is_valid(gpio))
- return;
-
- val = rdc_gpio_read(gpio);
-
- if (value)
- val &= ~(0x1 << (gpio & 0x1F));
- else
- val |= (0x1 << (gpio & 0x1F));
-
- rdc_gpio_write(val);
-}
-EXPORT_SYMBOL(rdc_gpio_set_value);
-
-int rdc_gpio_direction_input(unsigned gpio)
-{
- return 0;
-}
-EXPORT_SYMBOL(rdc_gpio_direction_input);
-
-int rdc_gpio_direction_output(unsigned gpio, int value)
-{
- return 0;
-}
-EXPORT_SYMBOL(rdc_gpio_direction_output);
-
-
+++ /dev/null
-/*
- * $Id: platform.c 8331 2007-08-03 15:59:23Z florian $
- *
- * Generic RDC321x platform devices
- *
- * Copyright (C) 2007 OpenWrt.org
- * Copyright (C) 2007 Florian Fainelli <florian@openwrt.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the
- * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- */
-
-#include <linux/init.h>
-#include <linux/kernel.h>
-#include <linux/list.h>
-#include <linux/device.h>
-#include <linux/platform_device.h>
-#include <linux/version.h>
-#include <linux/leds.h>
-#include <linux/gpio_keys.h>
-#include <linux/input.h>
-
-#include <asm/gpio.h>
-
-/* Flash */
-static struct resource rdc_flash_resource[] = {
- [0] = {
- .start = (u32)-CONFIG_MTD_RDC3210_SIZE,
- .end = (u32)-1,
- .flags = IORESOURCE_MEM,
- },
-};
-
-static struct platform_device rdc_flash_device = {
- .name = "rdc321x-flash",
- .id = -1,
- .num_resources = ARRAY_SIZE(rdc_flash_resource),
- .resource = rdc_flash_resource,
-};
-
-/* LEDS */
-static struct gpio_led default_leds[] = {
- { .name = "rdc321x:dmz", .gpio = 1, },
-};
-
-static struct gpio_led_platform_data rdc321x_led_data = {
- .num_leds = ARRAY_SIZE(default_leds),
- .leds = default_leds,
-};
-
-static struct platform_device rdc321x_leds = {
- .name = "leds-gpio",
- .id = -1,
- .dev = {
- .platform_data = &rdc321x_led_data,
- }
-};
-
-/* Watchdog */
-static struct platform_device rdc321x_wdt = {
- .name = "rdc321x-wdt",
- .id = -1,
- .num_resources = 0,
-};
-
-/* Button */
-static struct gpio_keys_button rdc321x_gpio_btn[] = {
- {
- .gpio = 0,
- .code = BTN_0,
- .desc = "Reset",
- .active_low = 1,
- }
-};
-
-static struct gpio_keys_platform_data rdc321x_gpio_btn_data = {
- .buttons = rdc321x_gpio_btn,
- .nbuttons = ARRAY_SIZE(rdc321x_gpio_btn),
-};
-
-static struct platform_device rdc321x_button = {
- .name = "gpio-keys",
- .id = -1,
- .dev = {
- .platform_data = &rdc321x_gpio_btn_data,
- }
-};
-
-static struct platform_device *rdc321x_devs[] = {
- &rdc_flash_device,
- &rdc321x_leds,
- &rdc321x_wdt,
- &rdc321x_button
-};
-
-static int __init rdc_board_setup(void)
-{
- return platform_add_devices(rdc321x_devs, ARRAY_SIZE(rdc321x_devs));
-}
-
-arch_initcall(rdc_board_setup);
+++ /dev/null
-/*
- * Machine specific setup for generic
- */
-
-#include <linux/init.h>
-#include <linux/interrupt.h>
-#include <asm/arch_hooks.h>
-#include <asm/io.h>
-#include <asm/setup.h>
-
-char * __init machine_specific_memory_setup(void)
-{
- return "RDC R-321x";
-}
+++ /dev/null
-/*
- * RDC321x watchdog driver
- *
- * Copyright (C) 2007 Florian Fainelli <florian@openwrt.org>
- *
- * This driver is highly inspired from the cpu5_wdt driver
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#include <linux/module.h>
-#include <linux/moduleparam.h>
-#include <linux/types.h>
-#include <linux/errno.h>
-#include <linux/miscdevice.h>
-#include <linux/fs.h>
-#include <linux/init.h>
-#include <linux/ioport.h>
-#include <linux/timer.h>
-#include <linux/completion.h>
-#include <linux/jiffies.h>
-#include <linux/platform_device.h>
-#include <linux/watchdog.h>
-
-#include <asm/io.h>
-#include <asm/uaccess.h>
-
-#include <asm/mach-rdc/rdc321x_defs.h>
-
-#define RDC_WDT_MASK 0x80000000 /* Mask */
-#define RDC_WDT_EN 0x00800000 /* Enable bit */
-#define RDC_WDT_WTI 0x00200000 /* Generate a CPU reset/NMI/WDT irq when WDT timeout is reached */
-#define RDC_WDT_RST 0x00100000 /* Reset bit */
-#define RDC_WDT_WIF 0x00040000 /* WDT IRQ Flag */
-#define RDC_WDT_IRT 0x00000100 /* IRQ Routing table */
-#define RDC_WDT_CNT 0x00000001 /* WDT count */
-
-#define RDC_CLS_TMR 0x80003844 /* Clear timer */
-
-#define RDC_WDT_INTERVAL (HZ/10+1)
-
-int nowayout = WATCHDOG_NOWAYOUT;
-module_param(nowayout, int, 0);
-MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started (default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")");
-
-static int ticks = 1000;
-
-/* some device data */
-
-static struct {
- struct completion stop;
- volatile int running;
- struct timer_list timer;
- volatile int queue;
- int default_ticks;
- unsigned long inuse;
-} rdc321x_wdt_device;
-
-/* generic helper functions */
-
-static void rdc321x_wdt_trigger(unsigned long unused)
-{
- if( rdc321x_wdt_device.running )
- ticks--;
-
- /* keep watchdog alive */
- outl(RDC_WDT_EN|inl(RDC3210_CFGREG_DATA), RDC3210_CFGREG_DATA);
-
- /* requeue?? */
- if (rdc321x_wdt_device.queue && ticks)
- mod_timer(&rdc321x_wdt_device.timer, jiffies + RDC_WDT_INTERVAL);
- else {
- /* ticks doesn't matter anyway */
- complete(&rdc321x_wdt_device.stop);
- }
-
-}
-
-static void rdc321x_wdt_reset(void)
-{
- ticks = rdc321x_wdt_device.default_ticks;
-}
-
-static void rdc321x_wdt_start(void)
-{
- if (!rdc321x_wdt_device.queue) {
- rdc321x_wdt_device.queue = 1;
-
- /* Clear the timer */
- outl(RDC_CLS_TMR, RDC3210_CFGREG_ADDR);
-
- /* Enable watchdog and set the timeout to 81.92 us */
- outl(RDC_WDT_EN|RDC_WDT_CNT, RDC3210_CFGREG_DATA);
-
- mod_timer(&rdc321x_wdt_device.timer, jiffies + RDC_WDT_INTERVAL);
- }
-
- /* if process dies, counter is not decremented */
- rdc321x_wdt_device.running++;
-}
-
-static int rdc321x_wdt_stop(void)
-{
- if (rdc321x_wdt_device.running)
- rdc321x_wdt_device.running = 0;
-
- ticks = rdc321x_wdt_device.default_ticks;
-
- return -EIO;
-}
-
-/* filesystem operations */
-
-static int rdc321x_wdt_open(struct inode *inode, struct file *file)
-{
- if (test_and_set_bit(0, &rdc321x_wdt_device.inuse))
- return -EBUSY;
-
- return nonseekable_open(inode, file);
-}
-
-static int rdc321x_wdt_release(struct inode *inode, struct file *file)
-{
- clear_bit(0, &rdc321x_wdt_device.inuse);
- return 0;
-}
-
-static int rdc321x_wdt_ioctl(struct inode *inode, struct file *file, unsigned int cmd, unsigned long arg)
-{
- void __user *argp = (void __user *)arg;
- unsigned int value;
- static struct watchdog_info ident =
- {
- .options = WDIOF_CARDRESET,
- .identity = "RDC321x WDT",
- };
-
- switch(cmd) {
- case WDIOC_KEEPALIVE:
- rdc321x_wdt_reset();
- break;
- case WDIOC_GETSTATUS:
- /* Read the value from the DATA register */
- value = inl(RDC3210_CFGREG_DATA);
- if ( copy_to_user(argp, &value, sizeof(int)) )
- return -EFAULT;
- break;
- case WDIOC_GETSUPPORT:
- if ( copy_to_user(argp, &ident, sizeof(ident)) )
- return -EFAULT;
- break;
- case WDIOC_SETOPTIONS:
- if ( copy_from_user(&value, argp, sizeof(int)) )
- return -EFAULT;
- switch(value) {
- case WDIOS_ENABLECARD:
- rdc321x_wdt_start();
- break;
- case WDIOS_DISABLECARD:
- return rdc321x_wdt_stop();
- default:
- return -EINVAL;
- }
- break;
- default:
- return -ENOTTY;
- }
- return 0;
-}
-
-static ssize_t rdc321x_wdt_write(struct file *file, const char __user *buf, size_t count, loff_t *ppos)
-{
- if ( !count )
- return -EIO;
-
- rdc321x_wdt_reset();
-
- return count;
-}
-
-static const struct file_operations rdc321x_wdt_fops = {
- .owner = THIS_MODULE,
- .llseek = no_llseek,
- .ioctl = rdc321x_wdt_ioctl,
- .open = rdc321x_wdt_open,
- .write = rdc321x_wdt_write,
- .release = rdc321x_wdt_release,
-};
-
-static struct miscdevice rdc321x_wdt_misc = {
- .minor = WATCHDOG_MINOR,
- .name = "watchdog",
- .fops = &rdc321x_wdt_fops,
-};
-
-static int __devinit rdc321x_wdt_probe(struct platform_device *pdev)
-{
- int err;
-
- if ( (err = misc_register(&rdc321x_wdt_misc)) < 0 ) {
- printk(KERN_ERR PFX "misc_register failed\n");
- return err;
- }
-
- /* Reset the watchdog */
- outl(RDC_WDT_RST, RDC3210_CFGREG_DATA);
-
- init_completion(&rdc321x_wdt_device.stop);
- rdc321x_wdt_device.queue = 0;
-
- clear_bit(0, &rdc321x_wdt_device.inuse);
-
- setup_timer(&rdc321x_wdt_device.timer, rdc321x_wdt_trigger, 0);
-
- rdc321x_wdt_device.default_ticks = ticks;
-
- printk(KERN_INFO PFX "init success\n");
-
- return 0;
-}
-
-static int rdc321x_wdt_remove(struct platform_device *pdev)
-{
- if (rdc321x_wdt_device.queue) {
- rdc321x_wdt_device.queue = 0;
- wait_for_completion(&rdc321x_wdt_device.stop);
- }
-
- misc_deregister(&rdc321x_wdt_misc);
-
- return 0;
-}
-
-static struct platform_driver rdc321x_wdt_driver = {
- .probe = rdc321x_wdt_probe,
- .remove = rdc321x_wdt_remove,
- .driver = {
- .owner = THIS_MODULE,
- .name = "rdc321x-wdt",
- },
-};
-
-static int __init rdc321x_wdt_init(void)
-{
- return platform_driver_register(&rdc321x_wdt_driver);
-}
-
-static void __exit rdc321x_wdt_exit(void)
-{
- platform_driver_unregister(&rdc321x_wdt_driver);
-}
-
-module_init(rdc321x_wdt_init);
-module_exit(rdc321x_wdt_exit);
-
-MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
-MODULE_DESCRIPTION("RDC321x watchdog driver");
-MODULE_LICENSE("GPL");
-MODULE_ALIAS_MISCDEV(WATCHDOG_MINOR);
+++ /dev/null
-/*
- * LED driver for RDC3211 boards
- *
- * Copyright 2007 Florian Fainelli <florian@openwrt.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- */
-
-#include <linux/kernel.h>
-#include <linux/module.h>
-#include <linux/init.h>
-#include <linux/platform_device.h>
-#include <linux/leds.h>
-#include <linux/err.h>
-
-#include <asm/gpio.h>
-
-static void rdc321x_led_set(struct led_classdev *led_cdev, enum led_brightness brightness)
-{
- gpio_set_value(1, brightness ? 1 : 0);
-}
-
-/* The DMZ led is at GPIO line 1 */
-static struct led_classdev rdc321x_dmz_led = {
- .name = "rdc321x:dmz",
- .brightness_set = rdc321x_led_set,
-};
-
-static int rdc321x_leds_probe(struct platform_device *pdev)
-{
- return led_classdev_register(&pdev->dev, &rdc321x_dmz_led);
-}
-
-static int rdc321x_leds_remove(struct platform_device *pdev)
-{
- led_classdev_unregister(&rdc321x_dmz_led);
- return 0;
-}
-
-static struct platform_driver rdc321x_leds_driver = {
- .probe = rdc321x_leds_probe,
- .remove = rdc321x_leds_remove,
- .driver = {
- .name = "rdc321x-leds",
- .owner = THIS_MODULE,
- }
-};
-
-static int __init rdc321x_leds_init(void)
-{
- int ret;
-
- ret = platform_driver_register(&rdc321x_leds_driver);
-
- return ret;
-}
-
-static void __exit rdc321x_leds_exit(void)
-{
- platform_driver_unregister(&rdc321x_leds_driver);
-}
-
-module_init(rdc321x_leds_init);
-module_exit(rdc321x_leds_exit);
-
-MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>");
-MODULE_DESCRIPTION("RDC321x LED driver");
-MODULE_LICENSE("GPL");
+++ /dev/null
-#ifndef _ASM_I386_GPIO_H
-#define _ASM_I386_GPIO_H
-
-#include <gpio.h>
-
-#endif /* _ASM_I386_GPIO_H */
+++ /dev/null
-#ifndef __ASM_MACH_GENERIC_GPIO_H
-#define __ASM_MACH_GENERIC_GPIO_H
-
-int gpio_request(unsigned gpio, const char *label);
-void gpio_free(unsigned gpio);
-int gpio_direction_input(unsigned gpio);
-int gpio_direction_output(unsigned gpio, int value);
-int gpio_get_value(unsigned gpio);
-void gpio_set_value(unsigned gpio, int value);
-int gpio_to_irq(unsigned gpio);
-int irq_to_gpio(unsigned irq);
-
-#include <asm-generic/gpio.h> /* cansleep wrappers */
-
-#endif /* __ASM_MACH_GENERIC_GPIO_H */
+++ /dev/null
-#ifndef _RDC_GPIO_H
-#define _RDC_GPIO_H
-
-extern int rdc_gpio_get_value(unsigned gpio);
-extern void rdc_gpio_set_value(unsigned gpio, int value);
-extern int rdc_gpio_direction_input(unsigned gpio);
-extern int rdc_gpio_direction_output(unsigned gpio, int value);
-
-
-/* Wrappers for the arch-neutral GPIO API */
-
-static inline int gpio_request(unsigned gpio, const char *label)
-{
- /* Not yet implemented */
- return 0;
-}
-
-static inline void gpio_free(unsigned gpio)
-{
- /* Not yet implemented */
-}
-
-static inline int gpio_direction_input(unsigned gpio)
-{
- return rdc_gpio_direction_input(gpio);
-}
-
-static inline int gpio_direction_output(unsigned gpio, int value)
-{
- return rdc_gpio_direction_output(gpio, value);
-}
-
-static inline int gpio_get_value(unsigned gpio)
-{
- return rdc_gpio_get_value(gpio);
-}
-
-static inline void gpio_set_value(unsigned gpio, int value)
-{
- rdc_gpio_set_value(gpio, value);
-}
-
-static inline int gpio_to_irq(unsigned gpio)
-{
- return gpio;
-}
-
-static inline int irq_to_gpio(unsigned irq)
-{
- return irq;
-}
-
-/* For cansleep */
-#include <asm-generic/gpio.h>
-
-#endif /* _RDC_GPIO_H_ */
+++ /dev/null
-#define PFX "rdc321x: "
-
-/* General purpose configuration and data registers */
-#define RDC3210_CFGREG_ADDR 0x0CF8
-#define RDC3210_CFGREG_DATA 0x0CFC
-#define RDC_MAX_GPIO 0x3A
+++ /dev/null
-Index: linux-2.6.24.7/arch/x86/Kconfig
-===================================================================
---- linux-2.6.24.7.orig/arch/x86/Kconfig
-+++ linux-2.6.24.7/arch/x86/Kconfig
-@@ -81,6 +81,10 @@ config GENERIC_BUG
- default y
- depends on BUG
-
-+config GENERIC_GPIO
-+ bool
-+ default n
-+
- config GENERIC_HWEIGHT
- bool
- default y
+++ /dev/null
-Index: linux-2.6.24.7/drivers/net/Kconfig
-===================================================================
---- linux-2.6.24.7.orig/drivers/net/Kconfig
-+++ linux-2.6.24.7/drivers/net/Kconfig
-@@ -1449,6 +1449,24 @@ config APRICOT
- To compile this driver as a module, choose M here. The module
- will be called apricot.
-
-+config R6040
-+ tristate "RDC Fast-Ethernet support (EXPERIMENTAL)"
-+ depends on NET_PCI && EXPERIMENTAL
-+ select MII
-+ help
-+ If you have a network (Ethernet) controller of this type, say Y and
-+ read the Ethernet-HOWTO, available from
-+ <http://www.tldp.org/docs.html#howto>.
-+
-+ To compile this driver as a module, choose M here and read
-+ <file:Documentation/networking/net-modules.txt>. The module will be
-+ called r6040.
-+
-+
-+config R6040_NAPI
-+ bool "NAPI support for R6040"
-+ depends on R6040
-+ default y
- config B44
- tristate "Broadcom 440x/47xx ethernet support"
- depends on SSB_POSSIBLE
-Index: linux-2.6.24.7/drivers/net/Makefile
-===================================================================
---- linux-2.6.24.7.orig/drivers/net/Makefile
-+++ linux-2.6.24.7/drivers/net/Makefile
-@@ -116,6 +116,7 @@ obj-$(CONFIG_LNE390) += lne390.o 8390.o
- obj-$(CONFIG_NE3210) += ne3210.o 8390.o
- obj-$(CONFIG_SB1250_MAC) += sb1250-mac.o
- obj-$(CONFIG_B44) += b44.o
-+obj-$(CONFIG_R6040) += r6040.o
- obj-$(CONFIG_FORCEDETH) += forcedeth.o
- obj-$(CONFIG_NE_H8300) += ne-h8300.o
- obj-$(CONFIG_AX88796) += ax88796.o
+++ /dev/null
-Index: linux-2.6.24.7/arch/x86/Kconfig
-===================================================================
---- linux-2.6.24.7.orig/arch/x86/Kconfig
-+++ linux-2.6.24.7/arch/x86/Kconfig
-@@ -304,6 +304,17 @@ config X86_VSMP
- supposed to run on these EM64T-based machines. Only choose this option
- if you have one of these machines.
-
-+config X86_RDC
-+ bool "Support for RDC 3211 boards"
-+ select GENERIC_GPIO
-+ select LEDS_GPIO
-+ select LEDS_CLASS
-+ help
-+ Support for RDC 3211 systems. Say 'Y' here if the kernel is
-+ supposed to run on an IA-32 RDC R3211 system.
-+ Only choose this option if you have such as system, otherwise you
-+ should say N here.
-+
- endchoice
-
- config SCHED_NO_NO_OMIT_FRAME_POINTER
-Index: linux-2.6.24.7/arch/x86/kernel/reboot_fixups_32.c
-===================================================================
---- linux-2.6.24.7.orig/arch/x86/kernel/reboot_fixups_32.c
-+++ linux-2.6.24.7/arch/x86/kernel/reboot_fixups_32.c
-@@ -30,6 +30,17 @@ static void cs5536_warm_reset(struct pci
- udelay(50); /* shouldn't get here but be safe and spin a while */
- }
-
-+static void r8610_reset(struct pci_dev *dev)
-+{
-+ int i;
-+
-+ outl(0x80003840,0xCF8);
-+ i=inl(0xCFC);
-+ i |= 0x1600;
-+ outl(i,0xCFC);
-+ outb(1,0x92);
-+}
-+
- struct device_fixup {
- unsigned int vendor;
- unsigned int device;
-@@ -40,6 +51,7 @@ static struct device_fixup fixups_table[
- { PCI_VENDOR_ID_CYRIX, PCI_DEVICE_ID_CYRIX_5530_LEGACY, cs5530a_warm_reset },
- { PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_CS5536_ISA, cs5536_warm_reset },
- { PCI_VENDOR_ID_NS, PCI_DEVICE_ID_NS_SC1100_BRIDGE, cs5530a_warm_reset },
-+{ PCI_VENDOR_ID_RDC, PCI_DEVICE_ID_RDC_R6030, r8610_reset },
- };
-
- /*
-Index: linux-2.6.24.7/arch/x86/Makefile_32
-===================================================================
---- linux-2.6.24.7.orig/arch/x86/Makefile_32
-+++ linux-2.6.24.7/arch/x86/Makefile_32
-@@ -99,6 +99,11 @@ mflags-$(CONFIG_X86_ES7000) := -Iinclude
- mcore-$(CONFIG_X86_ES7000) := arch/x86/mach-default
- core-$(CONFIG_X86_ES7000) := arch/x86/mach-es7000/
-
-+# RDC subarch support
-+mflags-$(CONFIG_X86_RDC) := -Iinclude/asm-x86/mach-rdc
-+mcore-$(CONFIG_X86_RDC) := arch/x86/mach-default
-+core-$(CONFIG_X86_RDC) += arch/x86/mach-rdc/
-+
- # Xen paravirtualization support
- core-$(CONFIG_XEN) += arch/x86/xen/
-
-Index: linux-2.6.24.7/include/asm-x86/timex.h
-===================================================================
---- linux-2.6.24.7.orig/include/asm-x86/timex.h
-+++ linux-2.6.24.7/include/asm-x86/timex.h
-@@ -7,6 +7,8 @@
-
- #ifdef CONFIG_X86_ELAN
- # define PIT_TICK_RATE 1189200 /* AMD Elan has different frequency! */
-+#elif defined(CONFIG_X86_RDC)
-+# define PIT_TICK_RATE 1041667 /* Underlying HZ for R8610 */
- #else
- # define PIT_TICK_RATE 1193182 /* Underlying HZ */
- #endif
+++ /dev/null
-Index: linux-2.6.24.7/include/linux/pci_ids.h
-===================================================================
---- linux-2.6.24.7.orig/include/linux/pci_ids.h
-+++ linux-2.6.24.7/include/linux/pci_ids.h
-@@ -2106,6 +2106,13 @@
- #define PCI_DEVICE_ID_HERC_WIN 0x5732
- #define PCI_DEVICE_ID_HERC_UNI 0x5832
-
-+#define PCI_VENDOR_ID_RDC 0x17f3
-+#define PCI_DEVICE_ID_RDC_R6020 0x6020
-+#define PCI_DEVICE_ID_RDC_R6030 0x6030
-+#define PCI_DEVICE_ID_RDC_R6040 0x6040
-+#define PCI_DEVICE_ID_RDC_R6060 0x6060
-+#define PCI_DEVICE_ID_RDC_R6061 0x6061
-+
- #define PCI_VENDOR_ID_SITECOM 0x182d
- #define PCI_DEVICE_ID_SITECOM_DC105V2 0x3069
-
+printf -v len '%.8x' "$(get-size $(ls -l "$1"))"
+lzma e "$@"
+echo -ne "\x$(echo $len | cut -c 7,8)\x$(echo $len | cut -c 5,6)\x$(echo $len | cut -c 3,4)\x$(echo $len | cut -c 1,2)" >> "$2"
-Index: linux-2.6.24.7/arch/x86/boot/compressed/Makefile_32
-===================================================================
---- linux-2.6.24.7.orig/arch/x86/boot/compressed/Makefile_32
-+++ linux-2.6.24.7/arch/x86/boot/compressed/Makefile_32
-@@ -4,8 +4,8 @@
+diff -urN linux-2.6.25.4/arch/x86/boot/compressed/Makefile linux-2.6.25.4.new/arch/x86/boot/compressed/Makefile
+--- linux-2.6.25.4/arch/x86/boot/compressed/Makefile 2008-05-15 17:00:12.000000000 +0200
++++ linux-2.6.25.4.new/arch/x86/boot/compressed/Makefile 2008-06-11 14:42:09.000000000 +0200
+@@ -4,7 +4,7 @@
# create a compressed vmlinux image from the original vmlinux
#
--targets := vmlinux vmlinux.bin vmlinux.bin.gz head_32.o misc_32.o piggy.o \
-- vmlinux.bin.all vmlinux.relocs
-+targets := vmlinux vmlinux.bin vmlinux.bin.lzma head_32.o piggy.o \
-+ vmlinux.bin.all vmlinux.relocs lzma_misc.o
- EXTRA_AFLAGS := -traditional
+-targets := vmlinux vmlinux.bin vmlinux.bin.gz head_$(BITS).o misc.o piggy.o
++targets := vmlinux vmlinux.bin vmlinux.bin.lzma head_$(BITS).o lzma_misc.o piggy.o
+ KBUILD_CFLAGS := -m$(BITS) -D__KERNEL__ $(LINUX_INCLUDE) -O2
+ KBUILD_CFLAGS += -fno-strict-aliasing -fPIC
+@@ -18,7 +18,7 @@
+ LDFLAGS := -m elf_$(UTS_MACHINE)
LDFLAGS_vmlinux := -T
-@@ -17,7 +17,7 @@ KBUILD_CFLAGS := -m32 -D__KERNEL__ $(LI
- $(call cc-option,-fno-stack-protector)
- LDFLAGS := -m elf_i386
--$(obj)/vmlinux: $(src)/vmlinux_32.lds $(obj)/head_32.o $(obj)/misc_32.o $(obj)/piggy.o FORCE
-+$(obj)/vmlinux: $(src)/vmlinux_32.lds $(obj)/head_32.o $(obj)/lzma_misc.o $(obj)/piggy.o FORCE
+-$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/misc.o $(obj)/piggy.o FORCE
++$(obj)/vmlinux: $(src)/vmlinux_$(BITS).lds $(obj)/head_$(BITS).o $(obj)/lzma_misc.o $(obj)/piggy.o FORCE
$(call if_changed,ld)
@:
-@@ -37,14 +37,14 @@ $(obj)/vmlinux.bin.all: $(vmlinux.bin.al
+@@ -44,11 +44,11 @@
$(call if_changed,relocbin)
ifdef CONFIG_RELOCATABLE
+$(obj)/vmlinux.bin.lzma: $(obj)/vmlinux.bin FORCE
+ $(call if_changed,lzma)
endif
-
LDFLAGS_piggy.o := -r --format binary --oformat elf32-i386 -T
--$(obj)/piggy.o: $(src)/vmlinux_32.scr $(obj)/vmlinux.bin.gz FORCE
-+$(obj)/piggy.o: $(src)/vmlinux_32.scr $(obj)/vmlinux.bin.lzma FORCE
+@@ -60,5 +60,5 @@
+ endif
+
+
+-$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.gz FORCE
++$(obj)/piggy.o: $(obj)/vmlinux.scr $(obj)/vmlinux.bin.lzma FORCE
$(call if_changed,ld)