^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) #include "soc_common.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #include "sa11xx_base.h"
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5) struct sa1111_pcmcia_socket {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) struct soc_pcmcia_socket soc;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) struct sa1111_dev *dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) struct sa1111_pcmcia_socket *next;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) static inline struct sa1111_pcmcia_socket *to_skt(struct soc_pcmcia_socket *s)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) return container_of(s, struct sa1111_pcmcia_socket, soc);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) }
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) int sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) int (*add)(struct soc_pcmcia_socket *));
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) extern void sa1111_pcmcia_socket_state(struct soc_pcmcia_socket *, struct pcmcia_state *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) extern int sa1111_pcmcia_configure_socket(struct soc_pcmcia_socket *, const socket_state_t *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) extern int pcmcia_badge4_init(struct sa1111_dev *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) extern int pcmcia_jornada720_init(struct sa1111_dev *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) extern int pcmcia_lubbock_init(struct sa1111_dev *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) extern int pcmcia_neponset_init(struct sa1111_dev *);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26)