Server IP : 13.213.54.232 / Your IP : 216.73.216.72 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ip-172-31-17-110 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.1.33-67+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/modules/6.8.0-1031-aws/build/include/pcmcia/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0 */ #include <pcmcia/ss.h> struct module; struct cpufreq_freqs; struct soc_pcmcia_regulator { struct regulator *reg; bool on; }; struct pcmcia_state { unsigned detect: 1, ready: 1, bvd1: 1, bvd2: 1, wrprot: 1, vs_3v: 1, vs_Xv: 1; }; /* * This structure encapsulates per-socket state which we might need to * use when responding to a Card Services query of some kind. */ struct soc_pcmcia_socket { struct pcmcia_socket socket; /* * Info from low level handler */ unsigned int nr; struct clk *clk; /* * Core PCMCIA state */ const struct pcmcia_low_level *ops; unsigned int status; socket_state_t cs_state; unsigned short spd_io[MAX_IO_WIN]; unsigned short spd_mem[MAX_WIN]; unsigned short spd_attr[MAX_WIN]; struct resource res_skt; struct resource res_io; struct resource res_io_io; struct resource res_mem; struct resource res_attr; struct { int gpio; struct gpio_desc *desc; unsigned int irq; const char *name; } stat[6]; #define SOC_STAT_CD 0 /* Card detect */ #define SOC_STAT_BVD1 1 /* BATDEAD / IOSTSCHG */ #define SOC_STAT_BVD2 2 /* BATWARN / IOSPKR */ #define SOC_STAT_RDY 3 /* Ready / Interrupt */ #define SOC_STAT_VS1 4 /* Voltage sense 1 */ #define SOC_STAT_VS2 5 /* Voltage sense 2 */ struct gpio_desc *gpio_reset; struct gpio_desc *gpio_bus_enable; struct soc_pcmcia_regulator vcc; struct soc_pcmcia_regulator vpp; unsigned int irq_state; #ifdef CONFIG_CPU_FREQ struct notifier_block cpufreq_nb; #endif struct timer_list poll_timer; struct list_head node; void *driver_data; }; struct pcmcia_low_level { struct module *owner; /* first socket in system */ int first; /* nr of sockets */ int nr; int (*hw_init)(struct soc_pcmcia_socket *); void (*hw_shutdown)(struct soc_pcmcia_socket *); void (*socket_state)(struct soc_pcmcia_socket *, struct pcmcia_state *); int (*configure_socket)(struct soc_pcmcia_socket *, const socket_state_t *); /* * Enable card status IRQs on (re-)initialisation. This can * be called at initialisation, power management event, or * pcmcia event. */ void (*socket_init)(struct soc_pcmcia_socket *); /* * Disable card status IRQs and PCMCIA bus on suspend. */ void (*socket_suspend)(struct soc_pcmcia_socket *); /* * Hardware specific timing routines. * If provided, the get_timing routine overrides the SOC default. */ unsigned int (*get_timing)(struct soc_pcmcia_socket *, unsigned int, unsigned int); int (*set_timing)(struct soc_pcmcia_socket *); int (*show_timing)(struct soc_pcmcia_socket *, char *); #ifdef CONFIG_CPU_FREQ /* * CPUFREQ support. */ int (*frequency_change)(struct soc_pcmcia_socket *, unsigned long, struct cpufreq_freqs *); #endif };