cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mmc_spi.h (1303B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2#ifndef __LINUX_SPI_MMC_SPI_H
      3#define __LINUX_SPI_MMC_SPI_H
      4
      5#include <linux/spi/spi.h>
      6#include <linux/interrupt.h>
      7
      8struct device;
      9struct mmc_host;
     10
     11/* Put this in platform_data of a device being used to manage an MMC/SD
     12 * card slot.  (Modeled after PXA mmc glue; see that for usage examples.)
     13 *
     14 * REVISIT This is not a spi-specific notion.  Any card slot should be
     15 * able to handle it.  If the MMC core doesn't adopt this kind of notion,
     16 * switch the "struct device *" parameters over to "struct spi_device *".
     17 */
     18struct mmc_spi_platform_data {
     19	/* driver activation and (optional) card detect irq hookup */
     20	int (*init)(struct device *,
     21		irqreturn_t (*)(int, void *),
     22		void *);
     23	void (*exit)(struct device *, void *);
     24
     25	/* Capabilities to pass into mmc core (e.g. MMC_CAP_NEEDS_POLL). */
     26	unsigned long caps;
     27	unsigned long caps2;
     28
     29	/* how long to debounce card detect, in msecs */
     30	u16 detect_delay;
     31
     32	/* power management */
     33	u16 powerup_msecs;		/* delay of up to 250 msec */
     34	u32 ocr_mask;			/* available voltages */
     35	void (*setpower)(struct device *, unsigned int maskval);
     36};
     37
     38extern struct mmc_spi_platform_data *mmc_spi_get_pdata(struct spi_device *spi);
     39extern void mmc_spi_put_pdata(struct spi_device *spi);
     40
     41#endif /* __LINUX_SPI_MMC_SPI_H */