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

TOMOYO Linux Cross Reference
Linux/Documentation/pcmcia/driver-changes.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/pcmcia/driver-changes.rst (Version linux-6.11.5) and /Documentation/pcmcia/driver-changes.rst (Version policy-sample)


  1 ==============                                    
  2 Driver changes                                    
  3 ==============                                    
  4                                                   
  5 This file details changes in 2.6 which affect     
  6                                                   
  7 * pcmcia_loop_config() and autoconfiguration (    
  8    If `struct pcmcia_device *p_dev->config_fla    
  9    pcmcia_loop_config() now sets up certain co    
 10    automatically, though the driver may still     
 11    in the callback function. The following aut    
 12    are provided at the moment:                    
 13                                                   
 14         - CONF_AUTO_CHECK_VCC : check for matc    
 15         - CONF_AUTO_SET_VPP   : set Vpp           
 16         - CONF_AUTO_AUDIO     : auto-enable au    
 17         - CONF_AUTO_SET_IO    : set ioport res    
 18         - CONF_AUTO_SET_IOMEM : set first iome    
 19                                                   
 20 * pcmcia_request_configuration -> pcmcia_enabl    
 21    pcmcia_request_configuration() got renamed     
 22    as it mirrors pcmcia_disable_device(). Conf    
 23    stored in struct pcmcia_device, e.g. in the    
 24    config_index, config_base, vpp.                
 25                                                   
 26 * pcmcia_request_window changes (as of 2.6.36)    
 27    Instead of win_req_t, drivers are now reque    
 28    `struct pcmcia_device *p_dev->resource[2,3,    
 29    ranges. After a call to pcmcia_request_wind    
 30    are reserved and may be used immediately --    
 31    is called.                                     
 32                                                   
 33 * pcmcia_request_io changes (as of 2.6.36)        
 34    Instead of io_req_t, drivers are now reques    
 35    `struct pcmcia_device *p_dev->resource[0,1]    
 36    ranges. After a call to pcmcia_request_io()    
 37    are reserved, after calling pcmcia_request_    
 38    be used.                                       
 39                                                   
 40 * No dev_info_t, no cs_types.h (as of 2.6.36)     
 41    dev_info_t and a few other typedefs are rem    
 42    in PCMCIA device drivers. Also, do not incl    
 43    this file is gone.                             
 44                                                   
 45 * No dev_node_t (as of 2.6.35)                    
 46    There is no more need to fill out a "dev_no    
 47                                                   
 48 * New IRQ request rules (as of 2.6.35)            
 49    Instead of the old pcmcia_request_irq() int    
 50    choose between:                                
 51                                                   
 52    - calling request_irq/free_irq directly. Us    
 53    - use pcmcia_request_irq(p_dev, handler_t);    
 54      clean up automatically on calls to pcmcia    
 55      device ejection.                             
 56                                                   
 57 * no cs_error / CS_CHECK / CONFIG_PCMCIA_DEBUG    
 58    Instead of the cs_error() callback or the C    
 59    Linux-style checking of return values, and     
 60    messages using "dev_dbg()" or "pr_debug()".    
 61                                                   
 62 * New CIS tuple access (as of 2.6.33)             
 63    Instead of pcmcia_get_{first,next}_tuple(),    
 64    pcmcia_parse_tuple(), a driver shall use "p    
 65    only interested in one (raw) tuple, or "pcm    
 66    interested in all tuples of one type. To de    
 67    a new helper "pcmcia_get_mac_from_cis()" wa    
 68                                                   
 69 * New configuration loop helper (as of 2.6.28)    
 70    By calling pcmcia_loop_config(), a driver c    
 71    configuration options. During a driver's pr    
 72    to use pcmcia_get_{first,next}_tuple, pcmci    
 73    pcmcia_parse_tuple directly in most if not     
 74                                                   
 75 * New release helper (as of 2.6.17)               
 76    Instead of calling pcmcia_release_{configur    
 77    necessary now is calling pcmcia_disable_dev    
 78    reason left to call pcmcia_release_io and p    
 79    exports for them were removed.                 
 80                                                   
 81 * Unify detach and REMOVAL event code, as well    
 82   code (as of 2.6.16)::                           
 83                                                   
 84        void (*remove)          (struct pcmcia_    
 85        int (*probe)            (struct pcmcia_    
 86                                                   
 87 * Move suspend, resume and reset out of event     
 88                                                   
 89        int (*suspend)          (struct pcmcia_    
 90        int (*resume)           (struct pcmcia_    
 91                                                   
 92   should be initialized in struct pcmcia_drive    
 93   (SUSPEND == RESET_PHYSICAL) and (RESUME == C    
 94                                                   
 95 * event handler initialization in struct pcmci    
 96    The event handler is notified of all events    
 97    as the event() callback in the driver's str    
 98                                                   
 99 * pcmcia/version.h should not be used (as of 2    
100    This file will be removed eventually.          
101                                                   
102 * in-kernel device<->driver matching (as of 2.    
103    PCMCIA devices and their correct drivers ca    
104    kernelspace. See 'devicetable.txt' for deta    
105                                                   
106 * Device model integration (as of 2.6.11)         
107    A struct pcmcia_device is registered with t    
108    and can be used (e.g. for SET_NETDEV_DEV) b    
109    handle_to_dev(client_handle_t * handle).       
110                                                   
111 * Convert internal I/O port addresses to unsig    
112    ioaddr_t should be replaced by unsigned int    
113                                                   
114 * irq_mask and irq_list parameters (as of 2.6.    
115    The irq_mask and irq_list parameters should    
116    PCMCIA card drivers. Instead, it is the job    
117    determine which IRQ should be used. Therefo    
118    is ignored.                                    
119                                                   
120 * client->PendingEvents is gone (as of 2.6.11)    
121    client->PendingEvents is no longer availabl    
122                                                   
123 * client->Attributes are gone (as of 2.6.11)      
124    client->Attributes is unused, therefore it     
125    PCMCIA card drivers                            
126                                                   
127 * core functions no longer available (as of 2.    
128    The following functions have been removed f    
129    because they are unused by all in-kernel dr    
130    driver was reported to rely on them::          
131                                                   
132         pcmcia_get_first_region()                 
133         pcmcia_get_next_region()                  
134         pcmcia_modify_window()                    
135         pcmcia_set_event_mask()                   
136         pcmcia_get_first_window()                 
137         pcmcia_get_next_window()                  
138                                                   
139 * device list iteration upon module removal (a    
140    It is no longer necessary to iterate on the    
141    client list and call the ->detach() functio    
142                                                   
143 * Resource management. (as of 2.6.8)              
144    Although the PCMCIA subsystem will allocate    
145    it no longer marks these resources busy. Th    
146    authors are now responsible for claiming yo    
147    other drivers in Linux. You should use requ    
148    your IO regions in-use, and request_mem_reg    
149    memory regions in-use. The name argument sh    
150    your driver name. Eg, for pcnet_cs, name sh    
151    string "pcnet_cs".                             
152                                                   
153 * CardServices is gone                            
154   CardServices() in 2.4 is just a big switch s    
155   services.  In 2.6, all of those entry points    
156   directly (except for pcmcia_report_error(),     
157                                                   
158 * struct pcmcia_driver                            
159   You need to use struct pcmcia_driver and pcm    
160   instead of {un,}register_pccard_driver          
                                                      

~ [ 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