summaryrefslogtreecommitdiff
path: root/target/linux/x86
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2012-04-21 16:17:48 +0000
committerGabor Juhos <juhosg@openwrt.org>2012-04-21 16:17:48 +0000
commitf63d216467e9f7827114197242e891d584f0af5b (patch)
tree6905f036256221971107ebbb2d069960101e60cb /target/linux/x86
parentbc2a7bfa703a0cc378b20570d861d7ce1ac7a1ed (diff)
downloadmtk-20170518-f63d216467e9f7827114197242e891d584f0af5b.zip
mtk-20170518-f63d216467e9f7827114197242e891d584f0af5b.tar.gz
mtk-20170518-f63d216467e9f7827114197242e891d584f0af5b.tar.bz2
x86: remove 2.6.32 support
SVN-Revision: 31415
Diffstat (limited to 'target/linux/x86')
-rw-r--r--target/linux/x86/config-default379
-rw-r--r--target/linux/x86/patches-2.6.32/100-geode_mfgpt_irq.patch11
-rw-r--r--target/linux/x86/patches-2.6.32/905-i386_build.patch10
-rw-r--r--target/linux/x86/patches-2.6.32/924-cs5535_gpio.patch102
4 files changed, 0 insertions, 502 deletions
diff --git a/target/linux/x86/config-default b/target/linux/x86/config-default
deleted file mode 100644
index 47c93ce..0000000
--- a/target/linux/x86/config-default
+++ /dev/null
@@ -1,379 +0,0 @@
-# CONFIG_60XX_WDT is not set
-# CONFIG_64BIT is not set
-# CONFIG_ACPI is not set
-# CONFIG_ACQUIRE_WDT is not set
-# CONFIG_ADVANTECH_WDT is not set
-# CONFIG_ALIM1535_WDT is not set
-# CONFIG_ALIX is not set
-CONFIG_AMD_NB=y
-CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig"
-# CONFIG_ARCH_DMA_ADDR_T_64BIT is not set
-CONFIG_ARCH_HAS_CACHE_LINE_SIZE=y
-CONFIG_ARCH_HAS_CPU_IDLE_WAIT=y
-CONFIG_ARCH_HAS_CPU_RELAX=y
-CONFIG_ARCH_HAS_DEFAULT_IDLE=y
-CONFIG_ARCH_HIBERNATION_POSSIBLE=y
-CONFIG_ARCH_HWEIGHT_CFLAGS="-fcall-saved-ecx -fcall-saved-edx"
-CONFIG_ARCH_MAY_HAVE_PC_FDC=y
-CONFIG_ARCH_NO_SYSDEV_OPS=y
-# CONFIG_ARCH_PHYS_ADDR_T_64BIT is not set
-CONFIG_ARCH_POPULATES_NODE_MAP=y
-CONFIG_ARCH_SELECT_MEMORY_MODEL=y
-CONFIG_ARCH_SPARSEMEM_ENABLE=y
-CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y
-CONFIG_ARCH_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_ARCH_SUPPORTS_MSI=y
-CONFIG_ARCH_SUPPORTS_OPTIMIZED_INLINING=y
-CONFIG_ARCH_SUSPEND_POSSIBLE=y
-CONFIG_ARCH_USES_PG_UNCACHED=y
-CONFIG_ARCH_WANT_FRAME_POINTERS=y
-CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y
-CONFIG_ATA=y
-CONFIG_ATA_GENERIC=y
-CONFIG_ATA_PIIX=y
-# CONFIG_AUDIT_ARCH is not set
-CONFIG_BINFMT_MISC=y
-CONFIG_BLK_DEV_SD=y
-CONFIG_BOUNCE=y
-CONFIG_CLOCKSOURCE_WATCHDOG=y
-CONFIG_CMPXCHG_LOCAL=y
-CONFIG_COMPAT_VDSO=y
-# CONFIG_CPU5_WDT is not set
-CONFIG_CPU_FREQ=y
-# CONFIG_CPU_FREQ_DEBUG is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
-CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
-# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
-# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set
-# CONFIG_CPU_FREQ_GOV_ONDEMAND is not set
-CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
-# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set
-# CONFIG_CPU_FREQ_GOV_USERSPACE is not set
-CONFIG_CPU_FREQ_STAT=y
-CONFIG_CPU_FREQ_STAT_DETAILS=y
-CONFIG_CPU_FREQ_TABLE=y
-CONFIG_CPU_IDLE=y
-CONFIG_CPU_IDLE_GOV_LADDER=y
-CONFIG_CPU_SUP_AMD=y
-CONFIG_CPU_SUP_CENTAUR=y
-CONFIG_CPU_SUP_CYRIX_32=y
-CONFIG_CPU_SUP_INTEL=y
-CONFIG_CPU_SUP_TRANSMETA_32=y
-CONFIG_CPU_SUP_UMC_32=y
-CONFIG_CRC16=y
-# CONFIG_CS5535_GPIO is not set
-# CONFIG_DCDBAS is not set
-CONFIG_DEBUG_BUGVERBOSE=y
-CONFIG_DEBUG_MEMORY_INIT=y
-# CONFIG_DEBUG_PERF_USE_VMALLOC is not set
-CONFIG_DECOMPRESS_BZIP2=y
-CONFIG_DECOMPRESS_GZIP=y
-CONFIG_DECOMPRESS_LZMA=y
-CONFIG_DEFAULT_IO_DELAY_TYPE=0
-# CONFIG_DELL_RBU is not set
-# CONFIG_DMI is not set
-CONFIG_DNOTIFY=y
-CONFIG_DOUBLEFAULT=y
-CONFIG_EARLY_PRINTK=y
-# CONFIG_EARLY_PRINTK_DBGP is not set
-# CONFIG_EDD is not set
-CONFIG_ELF_CORE=y
-# CONFIG_EUROTECH_WDT is not set
-CONFIG_EXT4_FS=y
-# CONFIG_F71808E_WDT is not set
-CONFIG_FIRMWARE_IN_KERNEL=y
-CONFIG_FIRMWARE_MEMMAP=y
-CONFIG_FIX_EARLYCON_MEM=y
-# CONFIG_FRAME_POINTER is not set
-CONFIG_FS_MBCACHE=y
-CONFIG_GENERIC_BUG=y
-CONFIG_GENERIC_CLOCKEVENTS=y
-CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y
-CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
-CONFIG_GENERIC_CMOS_UPDATE=y
-CONFIG_GENERIC_FIND_FIRST_BIT=y
-CONFIG_GENERIC_FIND_LAST_BIT=y
-CONFIG_GENERIC_FIND_NEXT_BIT=y
-CONFIG_GENERIC_IOMAP=y
-CONFIG_GENERIC_IRQ_SHOW=y
-CONFIG_GENERIC_ISA_DMA=y
-# CONFIG_GENERIC_TIME_VSYSCALL is not set
-# CONFIG_HANGCHECK_TIMER is not set
-CONFIG_HAS_DMA=y
-CONFIG_HAS_IOMEM=y
-CONFIG_HAS_IOPORT=y
-CONFIG_HAVE_AOUT=y
-CONFIG_HAVE_ARCH_JUMP_LABEL=y
-CONFIG_HAVE_ARCH_KGDB=y
-CONFIG_HAVE_ARCH_KMEMCHECK=y
-CONFIG_HAVE_ARCH_TRACEHOOK=y
-CONFIG_HAVE_ATOMIC_IOMAP=y
-# CONFIG_HAVE_CPUMASK_OF_CPU_MAP is not set
-CONFIG_HAVE_C_RECORDMCOUNT=y
-CONFIG_HAVE_DMA_API_DEBUG=y
-CONFIG_HAVE_DMA_ATTRS=y
-CONFIG_HAVE_DYNAMIC_FTRACE=y
-CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
-CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
-CONFIG_HAVE_FUNCTION_GRAPH_FP_TEST=y
-CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACER=y
-CONFIG_HAVE_FUNCTION_TRACE_MCOUNT_TEST=y
-CONFIG_HAVE_GENERIC_DMA_COHERENT=y
-CONFIG_HAVE_GENERIC_HARDIRQS=y
-CONFIG_HAVE_HW_BREAKPOINT=y
-CONFIG_HAVE_IDE=y
-CONFIG_HAVE_IOREMAP_PROT=y
-CONFIG_HAVE_IRQ_WORK=y
-CONFIG_HAVE_KERNEL_BZIP2=y
-CONFIG_HAVE_KERNEL_GZIP=y
-CONFIG_HAVE_KERNEL_LZMA=y
-CONFIG_HAVE_KERNEL_LZO=y
-CONFIG_HAVE_KERNEL_XZ=y
-CONFIG_HAVE_KVM=y
-CONFIG_HAVE_LATENCYTOP_SUPPORT=y
-CONFIG_HAVE_MEMBLOCK=y
-CONFIG_HAVE_MIXED_BREAKPOINTS_REGS=y
-CONFIG_HAVE_MMIOTRACE_SUPPORT=y
-CONFIG_HAVE_OPROFILE=y
-CONFIG_HAVE_OPTPROBES=y
-CONFIG_HAVE_PERF_EVENTS=y
-CONFIG_HAVE_PERF_EVENTS_NMI=y
-CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y
-CONFIG_HAVE_SETUP_PER_CPU_AREA=y
-CONFIG_HAVE_SPARSE_IRQ=y
-CONFIG_HAVE_SYSCALL_TRACEPOINTS=y
-CONFIG_HAVE_TEXT_POKE_SMP=y
-CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y
-CONFIG_HAVE_USER_RETURN_NOTIFIER=y
-# CONFIG_HIGHMEM4G is not set
-# CONFIG_HIGH_RES_TIMERS is not set
-CONFIG_HPET_EMULATE_RTC=y
-CONFIG_HPET_TIMER=y
-# CONFIG_HP_WATCHDOG is not set
-CONFIG_HT_IRQ=y
-# CONFIG_HUGETLBFS is not set
-CONFIG_HW_RANDOM=y
-CONFIG_HW_RANDOM_GEODE=y
-CONFIG_HW_RANDOM_VIA=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_RTL is not set
-CONFIG_ILLEGAL_POINTER_VALUE=0
-CONFIG_INITRAMFS_SOURCE=""
-CONFIG_INSTRUCTION_DECODER=y
-# CONFIG_IOMMU_API is not set
-# CONFIG_IOMMU_HELPER is not set
-# CONFIG_IOMMU_STRESS 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_IRQ_FORCED_THREADING=y
-# CONFIG_IRQ_TIME_ACCOUNTING is not set
-CONFIG_IRQ_WORK=y
-# CONFIG_ISA is not set
-CONFIG_ISA_DMA_API=y
-# CONFIG_ISCSI_IBFT_FIND is not set
-# CONFIG_IT8712F_WDT is not set
-# CONFIG_IT87_WDT is not set
-# CONFIG_ITCO_WDT is not set
-CONFIG_JBD2=y
-CONFIG_KALLSYMS=y
-CONFIG_KERNEL_GZIP=y
-# CONFIG_KERNEL_LZMA is not set
-CONFIG_KEXEC=y
-CONFIG_KTIME_SCALAR=y
-# 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_MACH_NO_WESTBRIDGE=y
-CONFIG_MATH_EMULATION=y
-# CONFIG_MATOM is not set
-# CONFIG_MCA is not set
-# CONFIG_MCORE2 is not set
-# CONFIG_MCRUSOE is not set
-# CONFIG_MCYRIXIII is not set
-# CONFIG_MEFFICEON is not set
-# CONFIG_MEMTEST 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_MPENTIUM4 is not set
-# CONFIG_MPENTIUMII is not set
-# CONFIG_MPENTIUMIII is not set
-# CONFIG_MPENTIUMM is not set
-CONFIG_MTD_BLOCK2MTD=y
-# CONFIG_MTD_CFI is not set
-# CONFIG_MTD_COMPLEX_MAPPINGS is not set
-# CONFIG_MTD_TS5500 is not set
-CONFIG_MTRR=y
-# CONFIG_MTRR_SANITIZER is not set
-# CONFIG_MVIAC3_2 is not set
-# CONFIG_MVIAC7 is not set
-# CONFIG_MWINCHIP3D is not set
-# CONFIG_MWINCHIPC6 is not set
-CONFIG_NAMESPACES=y
-# CONFIG_NEED_DMA_MAP_STATE is not set
-CONFIG_NEED_PER_CPU_EMBED_FIRST_CHUNK=y
-CONFIG_NEED_PER_CPU_KM=y
-CONFIG_NEED_PER_CPU_PAGE_FIRST_CHUNK=y
-CONFIG_NEED_SG_DMA_LENGTH=y
-# CONFIG_NET_NS is not set
-CONFIG_NET_VENDOR_3COM=y
-CONFIG_NOHIGHMEM=y
-CONFIG_NO_BOOTMEM=y
-CONFIG_NR_CPUS=1
-# CONFIG_NSC_GPIO is not set
-CONFIG_NVRAM=y
-# CONFIG_OLPC is not set
-# CONFIG_OPTIMIZE_INLINING is not set
-CONFIG_OUTPUT_FORMAT="elf32-i386"
-CONFIG_PAGEFLAGS_EXTENDED=y
-CONFIG_PAGE_OFFSET=0xC0000000
-# CONFIG_PARAVIRT_GUEST is not set
-# CONFIG_PC8736x_GPIO is not set
-# CONFIG_PC87413_WDT is not set
-CONFIG_PCI=y
-# CONFIG_PCIEPORTBUS 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_PCI_MSI=y
-CONFIG_PCSPKR_PLATFORM=y
-# CONFIG_PDA_POWER is not set
-CONFIG_PERF_EVENTS=y
-CONFIG_PHYSICAL_ALIGN=0x100000
-CONFIG_PHYSICAL_START=0x1000000
-CONFIG_POWER_SUPPLY=y
-# CONFIG_POWER_SUPPLY_DEBUG is not set
-# CONFIG_PREEMPT_RCU is not set
-# CONFIG_PROCESSOR_SELECT is not set
-CONFIG_PROC_PAGE_MONITOR=y
-# CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set
-# CONFIG_QUOTACTL is not set
-CONFIG_RD_BZIP2=y
-CONFIG_RD_GZIP=y
-# CONFIG_RELOCATABLE is not set
-CONFIG_RTC=y
-# 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_SCSI=y
-CONFIG_SCx200=y
-CONFIG_SCx200HR_TIMER=y
-# CONFIG_SCx200_GPIO is not set
-# CONFIG_SCx200_WDT is not set
-CONFIG_SERIAL_8250_PCI=y
-CONFIG_SERIO=y
-# CONFIG_SERIO_CT82C710 is not set
-CONFIG_SERIO_I8042=y
-CONFIG_SERIO_LIBPS2=y
-# CONFIG_SERIO_PCIPS2 is not set
-# CONFIG_SERIO_RAW is not set
-CONFIG_SERIO_SERPORT=y
-# CONFIG_SLAB is not set
-CONFIG_SLUB=y
-CONFIG_SLUB_DEBUG=y
-# CONFIG_SLUB_DEBUG_ON is not set
-# CONFIG_SMSC37B787_WDT is not set
-# CONFIG_SMSC_SCH311X_WDT is not set
-CONFIG_SPARSEMEM_STATIC=y
-CONFIG_STRICT_DEVMEM=y
-# CONFIG_TELCLOCK is not set
-CONFIG_THERMAL=y
-# CONFIG_TOSHIBA is not set
-# CONFIG_TRANSPARENT_HUGEPAGE is not set
-# CONFIG_TYPHOON is not set
-CONFIG_UID16=y
-CONFIG_USB_SUPPORT=y
-# CONFIG_USER_NS is not set
-CONFIG_USER_STACKTRACE_SUPPORT=y
-CONFIG_VM86=y
-# CONFIG_VMWARE_BALLOON is not set
-# CONFIG_VMWARE_PVSCSI is not set
-CONFIG_VM_EVENT_COUNTERS=y
-# CONFIG_VORTEX is not set
-# CONFIG_W83697UG_WDT is not set
-# CONFIG_WAFER_WDT is not set
-CONFIG_X86=y
-CONFIG_X86_32=y
-# CONFIG_X86_32_IRIS is not set
-CONFIG_X86_32_LAZY_GS=y
-# CONFIG_X86_64 is not set
-CONFIG_X86_ALIGNMENT_16=y
-# CONFIG_X86_ANCIENT_MCE is not set
-CONFIG_X86_BSWAP=y
-# CONFIG_X86_CHECK_BIOS_CORRUPTION is not set
-CONFIG_X86_CMPXCHG=y
-# CONFIG_X86_CPUFREQ_NFORCE2 is not set
-# CONFIG_X86_CPUID is not set
-# CONFIG_X86_EXTENDED_PLATFORM is not set
-# CONFIG_X86_E_POWERSAVER is not set
-CONFIG_X86_F00F_BUG=y
-CONFIG_X86_GENERIC=y
-# CONFIG_X86_GX_SUSPMOD is not set
-CONFIG_X86_INTEL_USERCOPY=y
-CONFIG_X86_INTERNODE_CACHE_SHIFT=6
-CONFIG_X86_INVD_BUG=y
-CONFIG_X86_INVLPG=y
-CONFIG_X86_IO_APIC=y
-CONFIG_X86_L1_CACHE_SHIFT=6
-CONFIG_X86_LOCAL_APIC=y
-# CONFIG_X86_LONGRUN is not set
-CONFIG_X86_MCE=y
-CONFIG_X86_MCE_AMD=y
-# CONFIG_X86_MCE_INJECT is not set
-CONFIG_X86_MCE_INTEL=y
-CONFIG_X86_MCE_THRESHOLD=y
-CONFIG_X86_MINIMUM_CPU_FAMILY=4
-CONFIG_X86_MPPARSE=y
-# CONFIG_X86_MSR is not set
-# CONFIG_X86_P4_CLOCKMOD is not set
-# CONFIG_X86_PAE is not set
-CONFIG_X86_PAT=y
-CONFIG_X86_PLATFORM_DEVICES=y
-CONFIG_X86_POPAD_OK=y
-# CONFIG_X86_POWERNOW_K6 is not set
-# CONFIG_X86_POWERNOW_K7 is not set
-CONFIG_X86_PPRO_FENCE=y
-# CONFIG_X86_REBOOTFIXUPS is not set
-CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y
-CONFIG_X86_RESERVE_LOW=64
-# CONFIG_X86_SPEEDSTEP_CENTRINO is not set
-# CONFIG_X86_SPEEDSTEP_ICH is not set
-# CONFIG_X86_SPEEDSTEP_LIB is not set
-# CONFIG_X86_SPEEDSTEP_SMI is not set
-CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y
-CONFIG_X86_THERMAL_VECTOR=y
-CONFIG_X86_UP_APIC=y
-CONFIG_X86_UP_IOAPIC=y
-CONFIG_X86_VERBOSE_BOOTUP=y
-CONFIG_X86_WP_WORKS_OK=y
-CONFIG_X86_XADD=y
-CONFIG_XZ_DEC=y
-# CONFIG_ZONE_DMA32 is not set
diff --git a/target/linux/x86/patches-2.6.32/100-geode_mfgpt_irq.patch b/target/linux/x86/patches-2.6.32/100-geode_mfgpt_irq.patch
deleted file mode 100644
index 9181cf8..0000000
--- a/target/linux/x86/patches-2.6.32/100-geode_mfgpt_irq.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/arch/x86/kernel/mfgpt_32.c
-+++ b/arch/x86/kernel/mfgpt_32.c
-@@ -33,7 +33,7 @@
- #include <linux/module.h>
- #include <asm/geode.h>
-
--#define MFGPT_DEFAULT_IRQ 7
-+#define MFGPT_DEFAULT_IRQ 6
-
- static struct mfgpt_timer_t {
- unsigned int avail:1;
diff --git a/target/linux/x86/patches-2.6.32/905-i386_build.patch b/target/linux/x86/patches-2.6.32/905-i386_build.patch
deleted file mode 100644
index c701fda..0000000
--- a/target/linux/x86/patches-2.6.32/905-i386_build.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/arch/x86/boot/tools/build.c
-+++ b/arch/x86/boot/tools/build.c
-@@ -29,7 +29,6 @@
- #include <stdarg.h>
- #include <sys/types.h>
- #include <sys/stat.h>
--#include <sys/sysmacros.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include <sys/mman.h>
diff --git a/target/linux/x86/patches-2.6.32/924-cs5535_gpio.patch b/target/linux/x86/patches-2.6.32/924-cs5535_gpio.patch
deleted file mode 100644
index a36ea49..0000000
--- a/target/linux/x86/patches-2.6.32/924-cs5535_gpio.patch
+++ /dev/null
@@ -1,102 +0,0 @@
---- a/drivers/char/cs5535_gpio.c
-+++ b/drivers/char/cs5535_gpio.c
-@@ -15,6 +15,7 @@
- #include <linux/kernel.h>
- #include <linux/init.h>
- #include <linux/cdev.h>
-+#include <linux/device.h>
- #include <linux/ioport.h>
- #include <linux/pci.h>
- #include <linux/smp_lock.h>
-@@ -48,6 +49,7 @@ static struct pci_device_id divil_pci[]
- MODULE_DEVICE_TABLE(pci, divil_pci);
-
- static struct cdev cs5535_gpio_cdev;
-+static struct class *cs5535_gpio_class;
-
- /* reserve 32 entries even though some aren't usable */
- #define CS5535_GPIO_COUNT 32
-@@ -66,9 +68,14 @@ static struct gpio_regmap rm[] =
- { 0x30, 0x00, '1', '0' }, /* GPIOx_READ_BACK / GPIOx_OUT_VAL */
- { 0x20, 0x20, 'I', 'i' }, /* GPIOx_IN_EN */
- { 0x04, 0x04, 'O', 'o' }, /* GPIOx_OUT_EN */
-+ { 0x10, 0x10, 'A', 'a' }, /* GPIOx_OUT_AUX1_SEL */
-+ { 0x14, 0x14, 'B', 'b' }, /* GPIOx_OUT_AUX2_SEL */
- { 0x08, 0x08, 't', 'T' }, /* GPIOx_OUT_OD_EN */
- { 0x18, 0x18, 'P', 'p' }, /* GPIOx_OUT_PU_EN */
- { 0x1c, 0x1c, 'D', 'd' }, /* GPIOx_OUT_PD_EN */
-+ { 0x24, 0x24, 'N', 'n' }, /* GPIOx_IN_INV_EN */
-+ { 0x0c, 0x0c, 'X', 'x' }, /* GPIOx_OUT_INV_EN */
-+ { 0x00, 0x00, 'H', 'L' }, /* GPIOx_OUT_VAL */
- };
-
-
-@@ -177,7 +184,7 @@ static int __init cs5535_gpio_init(void)
- {
- dev_t dev_id;
- u32 low, hi;
-- int retval;
-+ int retval, i;
-
- if (pci_dev_present(divil_pci) == 0) {
- printk(KERN_WARNING NAME ": DIVIL not found\n");
-@@ -232,23 +239,54 @@ static int __init cs5535_gpio_init(void)
- major = MAJOR(dev_id);
- }
-
-- if (retval) {
-- release_region(gpio_base, CS5535_GPIO_SIZE);
-- return -1;
-- }
-+ if (retval)
-+ goto error;
-
- printk(KERN_DEBUG NAME ": base=%#x mask=%#lx major=%d\n",
- gpio_base, mask, major);
-
- cdev_init(&cs5535_gpio_cdev, &cs5535_gpio_fops);
-- cdev_add(&cs5535_gpio_cdev, dev_id, CS5535_GPIO_COUNT);
-+ retval = cdev_add(&cs5535_gpio_cdev, dev_id, CS5535_GPIO_COUNT);
-+ if (retval) {
-+ kobject_put(&cs5535_gpio_cdev.kobj);
-+ goto error_region;
-+ }
-+
-+ cs5535_gpio_class = class_create(THIS_MODULE, "cs5535_gpio");
-+ if (IS_ERR(cs5535_gpio_class)) {
-+ printk(KERN_ERR "Error creating cs5535_gpio class\n");
-+ cdev_del(&cs5535_gpio_cdev);
-+ retval = PTR_ERR(cs5535_gpio_class);
-+ goto error_region;
-+ }
-+
-+ for (i = 0; i < CS5535_GPIO_COUNT; i++) {
-+ if (mask & (1<<i)) {
-+ device_create(cs5535_gpio_class, NULL, MKDEV(major, i), NULL, "cs5535_gpio%d", i);
-+ }
-+ }
-
- return 0;
-+
-+error_region:
-+ unregister_chrdev_region(dev_id, CS5535_GPIO_COUNT);
-+error:
-+ release_region(gpio_base, CS5535_GPIO_SIZE);
-+ return retval;
- }
-
- static void __exit cs5535_gpio_cleanup(void)
- {
- dev_t dev_id = MKDEV(major, 0);
-+ int i;
-+
-+ for (i = 0; i < CS5535_GPIO_COUNT; i++) {
-+ if (mask & (1<<i)) {
-+ device_destroy(cs5535_gpio_class, MKDEV(major, i));
-+ }
-+ }
-+
-+ class_destroy(cs5535_gpio_class);
-
- cdev_del(&cs5535_gpio_cdev);
- unregister_chrdev_region(dev_id, CS5535_GPIO_COUNT);