Changeset 84afc7b in mainline for kernel/arch


Ignore:
Timestamp:
2009-03-18T10:53:12Z (17 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
e749794
Parents:
8015eeec
Message:

as kernel little brother drivers are not needed anymore, the device numbers do not have to be correlated between kernel and uspace in any way
introduce new syscall sys_device_assign_devno() for generating system-wide unique device numbers for uspace

Location:
kernel/arch
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/amd64/src/amd64.c

    r8015eeec r84afc7b  
    6666#include <console/console.h>
    6767#include <ddi/irq.h>
    68 #include <ddi/device.h>
    6968#include <sysinfo/sysinfo.h>
    7069
     
    195194{
    196195#ifdef CONFIG_PC_KBD
    197         devno_t devno = device_assign_devno();
    198        
    199196        /*
    200197         * Initialize the i8042 controller. Then initialize the keyboard
    201198         * module and connect it to i8042. Enable keyboard interrupts.
    202199         */
    203         indev_t *kbrdin = i8042_init((i8042_t *) I8042_BASE, devno, IRQ_KBD);
     200        indev_t *kbrdin = i8042_init((i8042_t *) I8042_BASE, IRQ_KBD);
    204201        if (kbrdin) {
    205202                kbrd_init(kbrdin);
     
    212209         */
    213210        sysinfo_set_item_val("kbd", NULL, true);
    214         sysinfo_set_item_val("kbd.devno", NULL, devno);
    215211        sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    216212        sysinfo_set_item_val("kbd.address.physical", NULL,
  • kernel/arch/arm32/src/arm32.c

    r8015eeec r84afc7b  
    3737#include <config.h>
    3838#include <arch/console.h>
    39 #include <ddi/device.h>
    4039#include <genarch/fb/fb.h>
    4140#include <genarch/fb/visuals.h>
     
    129128{
    130129#ifdef CONFIG_ARM_KBD
    131         devno_t devno = device_assign_devno();
    132        
    133130        /*
    134131         * Initialize the msim/GXemul keyboard port. Then initialize the serial line
    135132         * module and connect it to the msim/GXemul keyboard. Enable keyboard interrupts.
    136133         */
    137         indev_t *kbrdin = dsrlnin_init((dsrlnin_t *) gxemul_kbd, devno, GXEMUL_KBD_IRQ);
     134        indev_t *kbrdin = dsrlnin_init((dsrlnin_t *) gxemul_kbd, GXEMUL_KBD_IRQ);
    138135        if (kbrdin)
    139136                srln_init(kbrdin);
     
    144141         */
    145142        sysinfo_set_item_val("kbd", NULL, true);
    146         sysinfo_set_item_val("kbd.devno", NULL, devno);
    147143        sysinfo_set_item_val("kbd.inr", NULL, GXEMUL_KBD_IRQ);
    148144        sysinfo_set_item_val("kbd.address.virtual", NULL, (unative_t) gxemul_kbd);
  • kernel/arch/ia32/src/drivers/i8254.c

    r8015eeec r84afc7b  
    2727 */
    2828
    29 /** @addtogroup ia32   
     29/** @addtogroup ia32
    3030 * @{
    3131 */
    3232/**
    3333 * @file
    34  * @brief       i8254 chip driver.
     34 * @brief i8254 chip driver.
    3535 *
    3636 * Low level time functions.
  • kernel/arch/ia32/src/ia32.c

    r8015eeec r84afc7b  
    6666#include <syscall/syscall.h>
    6767#include <console/console.h>
    68 #include <ddi/device.h>
    6968#include <sysinfo/sysinfo.h>
    7069#include <arch/boot/boot.h>
     
    153152{
    154153#ifdef CONFIG_PC_KBD
    155         devno_t devno = device_assign_devno();
    156        
    157154        /*
    158155         * Initialize the i8042 controller. Then initialize the keyboard
    159156         * module and connect it to i8042. Enable keyboard interrupts.
    160157         */
    161         indev_t *kbrdin = i8042_init((i8042_t *) I8042_BASE, devno, IRQ_KBD);
     158        indev_t *kbrdin = i8042_init((i8042_t *) I8042_BASE, IRQ_KBD);
    162159        if (kbrdin) {
    163160                kbrd_init(kbrdin);
     
    170167         */
    171168        sysinfo_set_item_val("kbd", NULL, true);
    172         sysinfo_set_item_val("kbd.devno", NULL, devno);
    173169        sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    174170        sysinfo_set_item_val("kbd.address.physical", NULL,
  • kernel/arch/ia32/src/smp/apic.c

    r8015eeec r84afc7b  
    2727 */
    2828
    29 /** @addtogroup ia32   
     29/** @addtogroup ia32
    3030 * @{
    3131 */
  • kernel/arch/ia64/src/drivers/it.c

    r8015eeec r84afc7b  
    2727 */
    2828
    29 /** @addtogroup ia64   
     29/** @addtogroup ia64
    3030 * @{
    3131 */
  • kernel/arch/ia64/src/ia64.c

    r8015eeec r84afc7b  
    5151#include <syscall/syscall.h>
    5252#include <ddi/irq.h>
    53 #include <ddi/device.h>
    5453#include <arch/bootinfo.h>
    5554#include <genarch/drivers/legacy/ia32/io.h>
     
    163162       
    164163#ifdef CONFIG_NS16550
    165         devno_t devno_ns16550 = device_assign_devno();
    166164        indev_t *kbrdin_ns16550
    167             = ns16550_init((ns16550_t *) NS16550_BASE, devno_ns16550, NS16550_IRQ, NULL, NULL);
     165            = ns16550_init((ns16550_t *) NS16550_BASE, NS16550_IRQ, NULL, NULL);
    168166        if (kbrdin_ns16550)
    169167                srln_init(kbrdin_ns16550);
    170168       
    171169        sysinfo_set_item_val("kbd", NULL, true);
    172         sysinfo_set_item_val("kbd.devno", NULL, devno_ns16550);
    173170        sysinfo_set_item_val("kbd.inr", NULL, NS16550_IRQ);
    174171        sysinfo_set_item_val("kbd.type", NULL, KBD_NS16550);
     
    180177       
    181178#ifdef CONFIG_I8042
    182         devno_t devno_i8042 = device_assign_devno();
    183         indev_t *kbrdin_i8042 = i8042_init((i8042_t *) I8042_BASE, devno_i8042, IRQ_KBD);
     179        indev_t *kbrdin_i8042 = i8042_init((i8042_t *) I8042_BASE, IRQ_KBD);
    184180        if (kbrdin_i8042)
    185181                kbrd_init(kbrdin_i8042);
    186182       
    187183        sysinfo_set_item_val("kbd", NULL, true);
    188         sysinfo_set_item_val("kbd.devno", NULL, devno_i8042);
    189184        sysinfo_set_item_val("kbd.inr", NULL, IRQ_KBD);
    190185        sysinfo_set_item_val("kbd.type", NULL, KBD_LEGACY);
  • kernel/arch/mips32/src/mips32.c

    r8015eeec r84afc7b  
    5757#include <genarch/srln/srln.h>
    5858#include <macros.h>
    59 #include <ddi/device.h>
    6059#include <config.h>
    6160#include <string.h>
     
    167166{
    168167#ifdef CONFIG_MIPS_KBD
    169         devno_t devno = device_assign_devno();
    170        
    171168        /*
    172169         * Initialize the msim/GXemul keyboard port. Then initialize the serial line
    173170         * module and connect it to the msim/GXemul keyboard. Enable keyboard interrupts.
    174171         */
    175         indev_t *kbrdin = dsrlnin_init((dsrlnin_t *) MSIM_KBD_ADDRESS, devno, MSIM_KBD_IRQ);
     172        indev_t *kbrdin = dsrlnin_init((dsrlnin_t *) MSIM_KBD_ADDRESS, MSIM_KBD_IRQ);
    176173        if (kbrdin) {
    177174                srln_init(kbrdin);
     
    184181         */
    185182        sysinfo_set_item_val("kbd", NULL, true);
    186         sysinfo_set_item_val("kbd.devno", NULL, devno);
    187183        sysinfo_set_item_val("kbd.inr", NULL, MSIM_KBD_IRQ);
    188184        sysinfo_set_item_val("kbd.address.virtual", NULL, MSIM_KBD_ADDRESS);
  • kernel/arch/ppc32/include/drivers/cuda.h

    r8015eeec r84afc7b  
    3939#include <typedefs.h>
    4040
    41 extern void cuda_init(devno_t devno, uintptr_t base, size_t size);
     41extern void cuda_init(uintptr_t base, size_t size);
    4242extern int cuda_get_scancode(void);
    4343
  • kernel/arch/ppc32/src/drivers/cuda.c

    r8015eeec r84afc7b  
    4141#include <interrupt.h>
    4242#include <stdarg.h>
     43#include <ddi/device.h>
    4344
    4445#define CUDA_IRQ 10
     
    242243}
    243244
    244 void cuda_init(devno_t devno, uintptr_t base, size_t size)
     245void cuda_init(uintptr_t base, size_t size)
    245246{
    246247        cuda = (uint8_t *) hw_map(base, size);
     
    250251       
    251252        irq_initialize(&cuda_irq);
    252         cuda_irq.devno = devno;
     253        cuda_irq.devno = device_assign_devno();
    253254        cuda_irq.inr = CUDA_IRQ;
    254255        cuda_irq.claim = cuda_claim;
     
    259260       
    260261        sysinfo_set_item_val("kbd", NULL, true);
    261         sysinfo_set_item_val("kbd.devno", NULL, devno);
    262262        sysinfo_set_item_val("kbd.inr", NULL, CUDA_IRQ);
    263263        sysinfo_set_item_val("kbd.address.virtual", NULL, base);
  • kernel/arch/ppc32/src/ppc32.c

    r8015eeec r84afc7b  
    4343#include <proc/uarg.h>
    4444#include <console/console.h>
    45 #include <ddi/device.h>
    4645#include <ddi/irq.h>
    4746#include <arch/drivers/pic.h>
     
    122121                       
    123122                        /* Initialize I/O controller */
    124                         cuda_init(device_assign_devno(),
    125                             bootinfo.macio.addr + 0x16000, 2 * PAGE_SIZE);
     123                        cuda_init(bootinfo.macio.addr + 0x16000, 2 * PAGE_SIZE);
    126124                }
    127125               
  • kernel/arch/sparc64/src/drivers/kbd.c

    r8015eeec r84afc7b  
    4747
    4848#include <console/console.h>
    49 #include <ddi/device.h>
    5049#include <ddi/irq.h>
    5150#include <arch/mm/page.h>
     
    7574        cir_t cir;
    7675        void *cir_arg;
    77 
     76       
    7877#ifdef CONFIG_NS16550
    7978        ns16550_t *ns16550;
     
    116115        uintptr_t pa;
    117116        size_t size;
    118         devno_t devno;
    119117        inr_t inr;
    120118       
     
    165163#ifdef CONFIG_Z8530
    166164        case KBD_Z8530:
    167                 devno = device_assign_devno();
    168165                z8530 = (z8530_t *) hw_map(aligned_addr, offset + size) +
    169166                    offset;
    170167               
    171                 indev_t *kbrdin_z8530 = z8530_init(z8530, devno, inr, cir, cir_arg);
     168                indev_t *kbrdin_z8530 = z8530_init(z8530, inr, cir, cir_arg);
    172169                if (kbrdin_z8530)
    173170                        kbrd_init(kbrdin_z8530);
     
    179176                sysinfo_set_item_val("kbd", NULL, true);
    180177                sysinfo_set_item_val("kbd.type", NULL, KBD_Z8530);
    181                 sysinfo_set_item_val("kbd.devno", NULL, devno);
    182178                sysinfo_set_item_val("kbd.inr", NULL, inr);
    183179                sysinfo_set_item_val("kbd.address.kernel", NULL,
     
    188184#ifdef CONFIG_NS16550
    189185        case KBD_NS16550:
    190                 devno = device_assign_devno();
    191186                ns16550 = (ns16550_t *) hw_map(aligned_addr, offset + size) +
    192187                    offset;
    193188               
    194                 indev_t *kbrdin_ns16550 = ns16550_init(ns16550, devno, inr, cir, cir_arg);
     189                indev_t *kbrdin_ns16550 = ns16550_init(ns16550, inr, cir, cir_arg);
    195190                if (kbrdin_ns16550)
    196191                        kbrd_init(kbrdin_ns16550);
     
    202197                sysinfo_set_item_val("kbd", NULL, true);
    203198                sysinfo_set_item_val("kbd.type", NULL, KBD_NS16550);
    204                 sysinfo_set_item_val("kbd.devno", NULL, devno);
    205199                sysinfo_set_item_val("kbd.inr", NULL, inr);
    206200                sysinfo_set_item_val("kbd.address.kernel", NULL,
Note: See TracChangeset for help on using the changeset viewer.