162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#include "soc_common.h"
362306a36Sopenharmony_ci#include "sa11xx_base.h"
462306a36Sopenharmony_ci
562306a36Sopenharmony_cistruct sa1111_pcmcia_socket {
662306a36Sopenharmony_ci	struct soc_pcmcia_socket soc;
762306a36Sopenharmony_ci	struct sa1111_dev *dev;
862306a36Sopenharmony_ci	struct sa1111_pcmcia_socket *next;
962306a36Sopenharmony_ci};
1062306a36Sopenharmony_ci
1162306a36Sopenharmony_cistatic inline struct sa1111_pcmcia_socket *to_skt(struct soc_pcmcia_socket *s)
1262306a36Sopenharmony_ci{
1362306a36Sopenharmony_ci	return container_of(s, struct sa1111_pcmcia_socket, soc);
1462306a36Sopenharmony_ci}
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciint sa1111_pcmcia_add(struct sa1111_dev *dev, struct pcmcia_low_level *ops,
1762306a36Sopenharmony_ci	int (*add)(struct soc_pcmcia_socket *));
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ciextern void sa1111_pcmcia_socket_state(struct soc_pcmcia_socket *, struct pcmcia_state *);
2062306a36Sopenharmony_ciextern int sa1111_pcmcia_configure_socket(struct soc_pcmcia_socket *, const socket_state_t *);
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciextern int pcmcia_badge4_init(struct sa1111_dev *);
2362306a36Sopenharmony_ciextern int pcmcia_jornada720_init(struct sa1111_dev *);
2462306a36Sopenharmony_ciextern int pcmcia_lubbock_init(struct sa1111_dev *);
2562306a36Sopenharmony_ciextern int pcmcia_neponset_init(struct sa1111_dev *);
2662306a36Sopenharmony_ci
27