~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/linux/eisa.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /include/linux/eisa.h (Architecture i386) and /include/linux/eisa.h (Architecture m68k)


  1 /* SPDX-License-Identifier: GPL-2.0 */              1 /* SPDX-License-Identifier: GPL-2.0 */
  2 #ifndef _LINUX_EISA_H                               2 #ifndef _LINUX_EISA_H
  3 #define _LINUX_EISA_H                               3 #define _LINUX_EISA_H
  4                                                     4 
  5 #include <linux/ioport.h>                           5 #include <linux/ioport.h>
  6 #include <linux/device.h>                           6 #include <linux/device.h>
  7 #include <linux/mod_devicetable.h>                  7 #include <linux/mod_devicetable.h>
  8                                                     8 
  9 #define EISA_MAX_SLOTS 8                            9 #define EISA_MAX_SLOTS 8
 10                                                    10 
 11 #define EISA_MAX_RESOURCES 4                       11 #define EISA_MAX_RESOURCES 4
 12                                                    12 
 13 /* A few EISA constants/offsets... */              13 /* A few EISA constants/offsets... */
 14                                                    14 
 15 #define EISA_DMA1_STATUS            8              15 #define EISA_DMA1_STATUS            8
 16 #define EISA_INT1_CTRL           0x20              16 #define EISA_INT1_CTRL           0x20
 17 #define EISA_INT1_MASK           0x21              17 #define EISA_INT1_MASK           0x21
 18 #define EISA_INT2_CTRL           0xA0              18 #define EISA_INT2_CTRL           0xA0
 19 #define EISA_INT2_MASK           0xA1              19 #define EISA_INT2_MASK           0xA1
 20 #define EISA_DMA2_STATUS         0xD0              20 #define EISA_DMA2_STATUS         0xD0
 21 #define EISA_DMA2_WRITE_SINGLE   0xD4              21 #define EISA_DMA2_WRITE_SINGLE   0xD4
 22 #define EISA_EXT_NMI_RESET_CTRL 0x461              22 #define EISA_EXT_NMI_RESET_CTRL 0x461
 23 #define EISA_INT1_EDGE_LEVEL    0x4D0              23 #define EISA_INT1_EDGE_LEVEL    0x4D0
 24 #define EISA_INT2_EDGE_LEVEL    0x4D1              24 #define EISA_INT2_EDGE_LEVEL    0x4D1
 25 #define EISA_VENDOR_ID_OFFSET   0xC80              25 #define EISA_VENDOR_ID_OFFSET   0xC80
 26 #define EISA_CONFIG_OFFSET      0xC84              26 #define EISA_CONFIG_OFFSET      0xC84
 27                                                    27 
 28 #define EISA_CONFIG_ENABLED         1              28 #define EISA_CONFIG_ENABLED         1
 29 #define EISA_CONFIG_FORCED          2              29 #define EISA_CONFIG_FORCED          2
 30                                                    30 
 31 /* There is not much we can say about an EISA      31 /* There is not much we can say about an EISA device, apart from
 32  * signature, slot number, and base address. d     32  * signature, slot number, and base address. dma_mask is set by
 33  * default to parent device mask..*/               33  * default to parent device mask..*/
 34                                                    34 
 35 struct eisa_device {                               35 struct eisa_device {
 36         struct eisa_device_id id;                  36         struct eisa_device_id id;
 37         int                   slot;                37         int                   slot;
 38         int                   state;               38         int                   state;
 39         unsigned long         base_addr;           39         unsigned long         base_addr;
 40         struct resource       res[EISA_MAX_RES     40         struct resource       res[EISA_MAX_RESOURCES];
 41         u64                   dma_mask;            41         u64                   dma_mask;
 42         struct device         dev; /* generic      42         struct device         dev; /* generic device */
 43 #ifdef CONFIG_EISA_NAMES                           43 #ifdef CONFIG_EISA_NAMES
 44         char                  pretty_name[50];     44         char                  pretty_name[50];
 45 #endif                                             45 #endif
 46 };                                                 46 };
 47                                                    47 
 48 #define to_eisa_device(n) container_of(n, stru     48 #define to_eisa_device(n) container_of(n, struct eisa_device, dev)
 49                                                    49 
 50 static inline int eisa_get_region_index (void      50 static inline int eisa_get_region_index (void *addr)
 51 {                                                  51 {
 52         unsigned long x = (unsigned long) addr     52         unsigned long x = (unsigned long) addr;
 53                                                    53 
 54         x &= 0xc00;                                54         x &= 0xc00;
 55         return (x >> 12);                          55         return (x >> 12);
 56 }                                                  56 }
 57                                                    57 
 58 struct eisa_driver {                               58 struct eisa_driver {
 59         const struct eisa_device_id *id_table;     59         const struct eisa_device_id *id_table;
 60         struct device_driver         driver;       60         struct device_driver         driver;
 61 };                                                 61 };
 62                                                    62 
 63 #define to_eisa_driver(drv) container_of_const     63 #define to_eisa_driver(drv) container_of_const(drv,struct eisa_driver, driver)
 64                                                    64 
 65 /* These external functions are only available     65 /* These external functions are only available when EISA support is enabled. */
 66 #ifdef CONFIG_EISA                                 66 #ifdef CONFIG_EISA
 67                                                    67 
 68 extern struct bus_type eisa_bus_type;              68 extern struct bus_type eisa_bus_type;
 69 int eisa_driver_register (struct eisa_driver *     69 int eisa_driver_register (struct eisa_driver *edrv);
 70 void eisa_driver_unregister (struct eisa_drive     70 void eisa_driver_unregister (struct eisa_driver *edrv);
 71                                                    71 
 72 #else /* !CONFIG_EISA */                           72 #else /* !CONFIG_EISA */
 73                                                    73 
 74 static inline int eisa_driver_register (struct     74 static inline int eisa_driver_register (struct eisa_driver *edrv) { return 0; }
 75 static inline void eisa_driver_unregister (str     75 static inline void eisa_driver_unregister (struct eisa_driver *edrv) { }
 76                                                    76 
 77 #endif /* !CONFIG_EISA */                          77 #endif /* !CONFIG_EISA */
 78                                                    78 
 79 /* Mimics pci.h... */                              79 /* Mimics pci.h... */
 80 static inline void *eisa_get_drvdata (struct e     80 static inline void *eisa_get_drvdata (struct eisa_device *edev)
 81 {                                                  81 {
 82         return dev_get_drvdata(&edev->dev);        82         return dev_get_drvdata(&edev->dev);
 83 }                                                  83 }
 84                                                    84 
 85 static inline void eisa_set_drvdata (struct ei     85 static inline void eisa_set_drvdata (struct eisa_device *edev, void *data)
 86 {                                                  86 {
 87         dev_set_drvdata(&edev->dev, data);         87         dev_set_drvdata(&edev->dev, data);
 88 }                                                  88 }
 89                                                    89 
 90 /* The EISA root device. There's rumours about     90 /* The EISA root device. There's rumours about machines with multiple
 91  * busses (PA-RISC ?), so we try to handle tha     91  * busses (PA-RISC ?), so we try to handle that. */
 92                                                    92 
 93 struct eisa_root_device {                          93 struct eisa_root_device {
 94         struct device   *dev;    /* Pointer to     94         struct device   *dev;    /* Pointer to bridge device */
 95         struct resource *res;                      95         struct resource *res;
 96         unsigned long    bus_base_addr;            96         unsigned long    bus_base_addr;
 97         int              slots;  /* Max slot n     97         int              slots;  /* Max slot number */
 98         int              force_probe; /* Probe     98         int              force_probe; /* Probe even when no slot 0 */
 99         u64              dma_mask; /* from bri     99         u64              dma_mask; /* from bridge device */
100         int              bus_nr; /* Set by eis    100         int              bus_nr; /* Set by eisa_root_register */
101         struct resource  eisa_root_res; /* dit    101         struct resource  eisa_root_res; /* ditto */
102 };                                                102 };
103                                                   103 
104 int eisa_root_register (struct eisa_root_devic    104 int eisa_root_register (struct eisa_root_device *root);
105                                                   105 
106 #ifdef CONFIG_EISA                                106 #ifdef CONFIG_EISA
107 extern int EISA_bus;                              107 extern int EISA_bus;
108 #else                                             108 #else
109 # define EISA_bus 0                               109 # define EISA_bus 0
110 #endif                                            110 #endif
111                                                   111 
112 #endif                                            112 #endif
113                                                   113 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php