cregit-Linux how code gets into the kernel

Release 4.12 include/linux/platform_data/mmc-omap.h

/*
 * MMC definitions for OMAP2
 *
 * Copyright (C) 2006 Nokia Corporation
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 */


#define OMAP_MMC_MAX_SLOTS	2

struct mmc_card;


struct omap_mmc_platform_data {
	/* back-link to device */
	
struct device *dev;

	/* number of slots per controller */
	
unsigned nr_slots:2;

	/* set if your board has components or wiring that limits the
         * maximum frequency on the MMC bus */
	
unsigned int max_freq;

	/* switch the bus to a new slot */
	
int (*switch_slot)(struct device *dev, int slot);
	/* initialize board-specific MMC functionality, can be NULL if
         * not supported */
	
int (*init)(struct device *dev);
	
void (*cleanup)(struct device *dev);
	
void (*shutdown)(struct device *dev);

	/* Return context loss count due to PM states changing */
	
int (*get_context_loss_count)(struct device *dev);

	/* Integrating attributes from the omap_hwmod layer */
	
u8 controller_flags;

	/* Register offset deviation */
	
u16 reg_offset;

	
struct omap_mmc_slot_data {

		/*
                 * 4/8 wires and any additional host capabilities
                 * need to OR'd all capabilities (ref. linux/mmc/host.h)
                 */
		
u8  wires;	/* Used for the MMC driver on omap1 and 2420 */
		
u32 caps;	/* Used for the MMC driver on 2430 and later */
		
u32 pm_caps;	/* PM capabilities of the mmc */

		/*
                 * nomux means "standard" muxing is wrong on this board, and
                 * that board-specific code handled it before common init logic.
                 */
		
unsigned nomux:1;

		/* switch pin can be for card detect (default) or card cover */
		
unsigned cover:1;

		/* use the internal clock */
		
unsigned internal_clock:1;

		/* nonremovable e.g. eMMC */
		
unsigned nonremovable:1;

		/* Try to sleep or power off when possible */
		
unsigned power_saving:1;

		/* If using power_saving and the MMC power is not to go off */
		
unsigned no_off:1;

		/* eMMC does not handle power off when not in sleep state */
		
unsigned no_regulator_off_init:1;

		/* Regulator off remapped to sleep */
		
unsigned vcc_aux_disable_is_sleep:1;

		/* we can put the features above into this variable */

#define MMC_OMAP7XX		(1 << 3)

#define MMC_OMAP15XX		(1 << 4)

#define MMC_OMAP16XX		(1 << 5)
		
unsigned features;

		
int switch_pin;			/* gpio (card detect) */
		
int gpio_wp;			/* gpio (write protect) */

		
int (*set_bus_mode)(struct device *dev, int slot, int bus_mode);
		
int (*set_power)(struct device *dev, int slot,
				 int power_on, int vdd);
		
int (*get_ro)(struct device *dev, int slot);
		
void (*remux)(struct device *dev, int slot, int power_on);
		/* Call back before enabling / disabling regulators */
		
void (*before_set_reg)(struct device *dev, int slot,
				       int power_on, int vdd);
		/* Call back after enabling / disabling regulators */
		
void (*after_set_reg)(struct device *dev, int slot,
				      int power_on, int vdd);
		/* if we have special card, init it using this callback */
		
void (*init_card)(struct mmc_card *card);

		/* return MMC cover switch state, can be NULL if not supported.
                 *
                 * possible return values:
                 *   0 - closed
                 *   1 - open
                 */
		
int (*get_cover_state)(struct device *dev, int slot);

		
const char *name;
		
u32 ocr_mask;

		/* Card detection IRQs */
		
int card_detect_irq;
		
int (*card_detect)(struct device *dev, int slot);

		
unsigned int ban_openended:1;

	
} slots[OMAP_MMC_MAX_SLOTS];
};

Overall Contributors

PersonTokensPropCommitsCommitProp
Kai Svahn14739.10%14.35%
Adrian Hunter8622.87%521.74%
Tony Lindgren7820.74%626.09%
Denis Karpov195.05%28.70%
Grazvydas Ignotas133.46%14.35%
Kishore Kadiyala82.13%28.70%
David Brownell61.60%14.35%
Balaji T K61.60%14.35%
Stanley Miao41.06%14.35%
Eliad Peller41.06%14.35%
Linus Torvalds30.80%14.35%
Sukumar Ghorai20.53%14.35%
Total376100.00%23100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.