Changeset 31497 for trunk


Ignore:
Timestamp:
2012-04-28T12:41:43+02:00 (5 years ago)
Author:
juhosg
Message:

adm8668: merge 3.3 fixes

Location:
trunk/target/linux/adm8668
Files:
3 deleted
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/adm8668/files/arch/mips/adm8668/irq.c

    r23900 r31497  
    2121#include <adm8668.h> 
    2222 
     23static void adm8668_irq_cascade(void) 
     24{ 
     25        int i; 
     26        unsigned long intsrc; 
    2327 
    24 void enable_adm8668_irq(unsigned int irq); 
    25 void disable_adm8668_irq(unsigned int irq); 
    26 void adm8668_irq_cascade(void); 
     28        intsrc = ADM8668_INTC_REG(IRQ_STATUS_REG) & IRQ_MASK; 
     29        for (i = 0; intsrc; intsrc >>= 1, i++) 
     30                if (intsrc & 0x1) 
     31                        do_IRQ(i); 
     32} 
    2733 
     34/* 
     35 * System irq dispatch 
     36 */ 
    2837void plat_irq_dispatch(void) 
    2938{ 
     
    4049 
    4150/* 
    42  * System irq dispatch 
    43  */ 
    44 void adm8668_irq_cascade() 
    45 { 
    46         int i; 
    47         unsigned long intsrc; 
    48  
    49         intsrc = ADM8668_INTC_REG(IRQ_STATUS_REG) & IRQ_MASK; 
    50         for (i = 0; intsrc; intsrc >>= 1, i++) 
    51                 if (intsrc & 0x1) 
    52                         do_IRQ(i); 
    53 } 
    54  
    55 /* 
    56  * irq enable 
    57  */ 
    58 static __inline void _irq_enable(int irql) 
    59 { 
    60         ADM8668_INTC_REG(IRQ_ENABLE_REG) = (1 << irql); 
    61 } 
    62  
    63  
    64 /* 
    65  * irq disable 
    66  */ 
    67 static __inline void _irq_disable(int irql) 
    68 { 
    69         ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irql); 
    70 } 
    71  
    72  
    73 /* 
    7451 * enable 8668 irq 
    7552 */ 
    76 void enable_adm8668_irq(unsigned int irq) 
     53static void enable_adm8668_irq(struct irq_data *d) 
    7754{ 
     55        int irq = d->irq; 
     56 
    7857        if ((irq < 0) || (irq > NR_IRQS)) 
    7958                return; 
    8059 
    81         _irq_enable(irq); 
     60        ADM8668_INTC_REG(IRQ_ENABLE_REG) = (1 << irq); 
    8261} 
    8362 
     
    8665 * disable 8668 irq 
    8766 */ 
    88 void disable_adm8668_irq(unsigned int irq) 
     67static void disable_adm8668_irq(struct irq_data *d) 
    8968{ 
     69        int irq = d->irq; 
     70 
    9071        if ((irq < 0) || (irq > NR_IRQS)) 
    9172                return; 
    9273 
    93         _irq_disable(irq); 
     74        ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irq); 
    9475} 
    9576 
    96 static inline void ack_adm8668_irq(unsigned int irq_nr) 
     77static void ack_adm8668_irq(struct irq_data *d) 
    9778{ 
    98         ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irq_nr); 
     79        int irq = d->irq; 
     80 
     81        ADM8668_INTC_REG(IRQ_DISABLE_REG) = (1 << irq); 
    9982} 
    10083 
     
    10588static struct irq_chip adm8668_irq_type = { 
    10689        .name = "adm8668", 
    107         .ack = ack_adm8668_irq, 
    108         .mask = disable_adm8668_irq, 
    109         .unmask = enable_adm8668_irq 
     90        .irq_ack = ack_adm8668_irq, 
     91        .irq_mask = disable_adm8668_irq, 
     92        .irq_unmask = enable_adm8668_irq 
    11093}; 
    11194 
     
    11396 * irq init 
    11497 */ 
    115 void __init init_adm8668_irqs(void) 
     98static void __init init_adm8668_irqs(void) 
    11699{ 
    117100        int i; 
    118101 
    119102        for (i = 0; i <= INT_LVL_MAX; i++) 
    120                 set_irq_chip_and_handler(i, &adm8668_irq_type, 
     103                irq_set_chip_and_handler(i, &adm8668_irq_type, 
    121104                        handle_level_irq); 
    122105 
  • trunk/target/linux/adm8668/files/arch/mips/adm8668/net.h

    r23900 r31497  
    1313 
    1414#include <linux/module.h> 
     15#include <linux/export.h> 
    1516#include <linux/slab.h> 
    1617#include <linux/init.h> 
     
    2627#include <linux/etherdevice.h> 
    2728#include <linux/platform_device.h> 
     29#include <linux/io.h> 
     30#include <linux/interrupt.h> 
    2831#include <asm/unaligned.h> 
    2932#include <asm/uaccess.h> 
    30 #include <asm/io.h> 
    31 #include <asm/irq.h> 
    3233 
    3334/* undefine, or define to various debugging levels (>4 == obscene levels) */ 
  • trunk/target/linux/adm8668/files/arch/mips/adm8668/net_core.c

    r23900 r31497  
    134134        tulip_init_ring (dev); 
    135135 
    136         retval = request_irq(dev->irq, tulip_interrupt, IRQF_SHARED, dev->name, dev); 
     136        retval = request_irq(dev->irq, tulip_interrupt, 0, dev->name, dev); 
    137137        if (retval) 
    138138                goto free_ring; 
     
    470470        .ndo_stop               = tulip_close, 
    471471        .ndo_get_stats          = tulip_get_stats, 
    472         .ndo_set_multicast_list = set_rx_mode, 
     472        .ndo_set_rx_mode        = set_rx_mode, 
    473473        .ndo_change_mtu         = eth_change_mtu, 
    474474        .ndo_set_mac_address    = eth_mac_addr, 
     
    510510        tp->base_addr = ioaddr; 
    511511        tp->csr0 = csr0; 
     512        tp->pdev = pdev; 
    512513        tp->rx_ring = dma_alloc_coherent(&pdev->dev, 
    513514                                sizeof(struct tulip_rx_desc) * RX_RING_SIZE + 
  • trunk/target/linux/adm8668/files/drivers/mtd/maps/adm8668.c

    r25176 r31497  
    4848#include <linux/mtd/map.h> 
    4949#include <linux/slab.h> 
    50 #ifdef CONFIG_MTD_PARTITIONS 
    5150#include <linux/mtd/partitions.h> 
    52 #endif 
    5351#include <linux/crc32.h> 
    5452#include <linux/magic.h> 
     
    9593}; 
    9694 
    97 #ifdef CONFIG_MTD_PARTITIONS 
    98  
    9995/* 
    10096 * Copied from mtdblock.c 
     
    239235 
    240236        if (be32_to_cpu(uhdr.ih_size) != (linux_len - sizeof(uhdr))) { 
    241                 unsigned char *block, *data = (unsigned char *)(WINDOW_ADDR | (adm8668_parts[PART_LINUX].offset + sizeof(struct uboot_header)) | 0xA0000000); 
     237                unsigned char *block, *data; 
     238                unsigned int offset; 
     239 
     240                offset = adm8668_parts[PART_LINUX].offset + 
     241                         sizeof(struct uboot_header); 
     242                data = (unsigned char *)(WINDOW_ADDR | 0xA0000000 | offset); 
    242243 
    243244                printk(KERN_NOTICE "Updating U-boot image:\n"); 
     
    280281} 
    281282 
    282 #endif 
    283  
    284  
    285283int __init init_adm8668_map(void) 
    286284{ 
    287 #ifdef CONFIG_MTD_PARTITIONS 
    288285        int nr_parts, ret; 
    289 #endif 
    290  
    291         adm8668_map.virt = (unsigned long)ioremap(WINDOW_ADDR, WINDOW_SIZE); 
     286 
     287        adm8668_map.virt = ioremap(WINDOW_ADDR, WINDOW_SIZE); 
    292288 
    293289        if (!adm8668_map.virt) { 
     
    305301        adm8668_mtd->owner = THIS_MODULE; 
    306302 
    307 #ifdef CONFIG_MTD_PARTITIONS 
    308303        nr_parts = init_mtd_partitions(adm8668_mtd, adm8668_mtd->size); 
    309         ret = add_mtd_partitions(adm8668_mtd, adm8668_parts, nr_parts); 
     304        ret = mtd_device_register(adm8668_mtd, adm8668_parts, nr_parts); 
    310305        if (ret) { 
    311                 printk(KERN_ERR "Flash: add_mtd_partitions failed\n"); 
     306                printk(KERN_ERR "Flash: mtd_device_register failed\n"); 
    312307                goto fail; 
    313308        } 
    314 #endif 
    315309 
    316310        return 0; 
     
    327321void __exit cleanup_adm8668_map(void) 
    328322{ 
    329 #ifdef CONFIG_MTD_PARTITIONS 
    330         del_mtd_partitions(adm8668_mtd); 
    331 #endif 
     323        mtd_device_unregister(adm8668_mtd); 
    332324        map_destroy(adm8668_mtd); 
    333325        iounmap((void *) adm8668_map.virt); 
Note: See TracChangeset for help on using the changeset viewer.