aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/sbus
Commit message (Expand)AuthorAge
* sparc/drivers: use linux/of_device.h instead of asm/of_device.hStephen Rothwell2008-08-11
* sparc64: fix up bus_id changes in sparc core codeGreg Kroah-Hartman2008-07-22
* drivers/sbus/: cleanupsAdrian Bunk2008-07-18
* Merge commit 'v2.6.26' into bkl-removalJonathan Corbet2008-07-14
|\
| * sbus bpp: instances missed in s/dev_name/bpp_dev_name/Al Viro2008-05-21
* | uctrl: BKL pushdownArnd Bergmann2008-07-02
* | sbus-rtc: BKL pushdownArnd Bergmann2008-07-02
* | riowatchdog: BKL pushdownArnd Bergmann2008-07-02
* | openprom: BKL pushdownArnd Bergmann2008-07-02
* | jsflash: BKL pushdownArnd Bergmann2008-06-20
* | flash: BKL pushdownArnd Bergmann2008-06-20
* | envctrl: BKL pushdownArnd Bergmann2008-06-20
* | display7seg: BKL pushdownArnd Bergmann2008-06-20
* | cpwatchdog: BKL pushdownArnd Bergmann2008-06-20
* | videopix: BKL pushdownJonathan Corbet2008-06-20
* | bpp: bkl pushdownJonathan Corbet2008-06-20
|/
* sbus: Fix bpp driver build.David S. Miller2008-05-05
* drivers: replace remaining __FUNCTION__ occurrencesHarvey Harrison2008-04-30
* [WATCHDOG] Sbus: cpwatchdog, remove SPIN_LOCK_UNLOCKEDJiri Slaby2007-11-19
* vfc_dev conversion to mutex: falloutAl Viro2007-10-20
* [SPARC] Videopix Frame Grabber: Convert device_lock_sem to mutexMatthias Kaehlcke2007-10-17
* [BBC_I2C]: kmalloc + memset conversion to kzallocMariusz Kozlowski2007-07-31
* [BBC_ENVCTRL]: kmalloc + memset conversion to kzallocMariusz Kozlowski2007-07-31
* [SPARC] Videopix Frame Grabber: Fix unreleased lock in vfc_debug()Matthias Kaehlcke2007-07-31
* [SPARC64]: Fix conflicts in SBUS/PCI/EBUS/ISA DMA handling.David S. Miller2007-07-30
* Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/sp...Linus Torvalds2007-07-24
|\
| * [SPARC32]: Deal with rtc/sun_mostek_rtc conflict.Al Viro2007-07-24
* | [BLOCK] Get rid of request_queue_t typedefJens Axboe2007-07-24
|/
* [SPARC]: Make sure dev_archdata is filled in for all devices.David S. Miller2007-07-20
* some kmalloc/memset ->kzalloc (tree wide)Yoann Padioleau2007-07-19
* Add common orderly_poweroff()Jeremy Fitzhardinge2007-07-18
* unregister_blkdev() delete redundant messages in callersAkinobu Mita2007-07-17
* cpwatchdog build fixAndrew Morton2007-07-16
* [SPARC]: Missing #include <linux/mm.h> in drivers/sbus/char/flash.cHorst H. von Brand2007-05-31
* [SPARC] SBUS: display7seg.c needs asm/io.hDavid S. Miller2007-05-14
* [SPARC] SBUS: bbc_i2c.c needs asm/io.hDavid S. Miller2007-05-14
* [SPARC64]: envctrl.c needs asm/io.hDavid S. Miller2007-05-12
* Fix misspellings collected by members of KJ list.Robert P. J. Day2007-05-09
* header cleaning: don't include smp_lock.h when not usedRandy Dunlap2007-05-08
* PCI: Cleanup the includes of <linux/pci.h>Jean Delvare2007-05-02
* [OPENPROM]: Use pci_device_to_OF_node().David S. Miller2007-04-26
* [SPARC/64] constify of_get_property return: driversStephen Rothwell2007-04-26
* [SPARC] openprom: Switch to ref counting PCI APIAlan Cox2007-04-24
* [SBUS] vfc_dev.c: kzallocvignesh babu2007-04-21
* [SPARC] uctrl: Check request_irq() return value.David S. Miller2007-02-26
* [SPARC64] bbc_i2c: Fix kenvctrld eating %100 cpu.David S. Miller2007-02-26
* [SPARC]: Remove the broken SUN_AURORA driver.Adrian Bunk2007-02-26
* Various typo fixes.Robert P. J. Day2007-02-17
* [PATCH] remove many unneeded #includes of sched.hTim Schmielau2007-02-14
* [PATCH] mark struct file_operations const 6Arjan van de Ven2007-02-12
ss="hl opt">=0; i<6; i++) { /* The NVRAM holds our ethernet address, one nibble per byte, * at bytes NVRAMOFF+1,3,5,7,9... */ dev->dev_addr[i] = ((in_8(va + HPLANCE_NVRAMOFF + i*4 + 1) & 0xF) << 4) | (in_8(va + HPLANCE_NVRAMOFF + i*4 + 3) & 0xF); } lp = netdev_priv(dev); lp->lance.name = (char*)d->name; /* discards const, shut up gcc */ lp->lance.base = va; lp->lance.init_block = (struct lance_init_block *)(va + HPLANCE_MEMOFF); /* CPU addr */ lp->lance.lance_init_block = NULL; /* LANCE addr of same RAM */ lp->lance.busmaster_regval = LE_C3_BSWP; /* we're bigendian */ lp->lance.irq = d->ipl; lp->lance.writerap = hplance_writerap; lp->lance.writerdp = hplance_writerdp; lp->lance.readrdp = hplance_readrdp; lp->lance.lance_log_rx_bufs = LANCE_LOG_RX_BUFFERS; lp->lance.lance_log_tx_bufs = LANCE_LOG_TX_BUFFERS; lp->lance.rx_ring_mod_mask = RX_RING_MOD_MASK; lp->lance.tx_ring_mod_mask = TX_RING_MOD_MASK; } /* This is disgusting. We have to check the DIO status register for ack every * time we read or write the LANCE registers. */ static void hplance_writerap(void *priv, unsigned short value) { struct lance_private *lp = (struct lance_private *)priv; do { out_be16(lp->base + HPLANCE_REGOFF + LANCE_RAP, value); } while ((in_8(lp->base + HPLANCE_STATUS) & LE_ACK) == 0); } static void hplance_writerdp(void *priv, unsigned short value) { struct lance_private *lp = (struct lance_private *)priv; do { out_be16(lp->base + HPLANCE_REGOFF + LANCE_RDP, value); } while ((in_8(lp->base + HPLANCE_STATUS) & LE_ACK) == 0); } static unsigned short hplance_readrdp(void *priv) { struct lance_private *lp = (struct lance_private *)priv; __u16 value; do { value = in_be16(lp->base + HPLANCE_REGOFF + LANCE_RDP); } while ((in_8(lp->base + HPLANCE_STATUS) & LE_ACK) == 0); return value; } static int hplance_open(struct net_device *dev) { int status; struct lance_private *lp = netdev_priv(dev); status = lance_open(dev); /* call generic lance open code */ if (status) return status; /* enable interrupts at board level. */ out_8(lp->base + HPLANCE_STATUS, LE_IE); return 0; } static int hplance_close(struct net_device *dev) { struct lance_private *lp = netdev_priv(dev); out_8(lp->base + HPLANCE_STATUS, 0); /* disable interrupts at boardlevel */ lance_close(dev); return 0; } int __init hplance_init_module(void) { return dio_register_driver(&hplance_driver); } void __exit hplance_cleanup_module(void) { dio_unregister_driver(&hplance_driver); } module_init(hplance_init_module); module_exit(hplance_cleanup_module); MODULE_LICENSE("GPL");