18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#include "soc_common.h"
38c2ecf20Sopenharmony_ci#include "sa11xx_base.h"
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_cistruct sa1111_pcmcia_socket {
68c2ecf20Sopenharmony_ci	struct soc_pcmcia_socket soc;
78c2ecf20Sopenharmony_ci	struct sa1111_dev *dev;
88c2ecf20Sopenharmony_ci	struct sa1111_pcmcia_socket *next;
98c2ecf20Sopenharmony_ci};
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_cistatic inline struct sa1111_pcmcia_socket *to_skt(struct soc_pcmcia_socket *s)
128c2ecf20Sopenharmony_ci{
138c2ecf20Sopenharmony_ci	return container_of(s, struct sa1111_pcmcia_socket, soc);
148c2ecf20Sopenharmony_ci}
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciint sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
178c2ecf20Sopenharmony_ci	int (*add)(struct soc_pcmcia_socket *));
188c2ecf20Sopenharmony_ci
198c2ecf20Sopenharmony_ciextern void sa1111_pcmcia_socket_state(struct soc_pcmcia_socket *, struct pcmcia_state *);
208c2ecf20Sopenharmony_ciextern int sa1111_pcmcia_configure_socket(struct soc_pcmcia_socket *, const socket_state_t *);
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciextern int pcmcia_badge4_init(struct sa1111_dev *);
238c2ecf20Sopenharmony_ciextern int pcmcia_jornada720_init(struct sa1111_dev *);
248c2ecf20Sopenharmony_ciextern int pcmcia_lubbock_init(struct sa1111_dev *);
258c2ecf20Sopenharmony_ciextern int pcmcia_neponset_init(struct sa1111_dev *);
268c2ecf20Sopenharmony_ci
27