All new accounts created on Gitlab now require administrator approval. If you invite any collaborators, please let Flux staff know so they can approve the accounts.

Commit 76d55564 authored by Timo Kokkonen's avatar Timo Kokkonen Committed by Ulf Hansson

mmc: host: atmel-mci: Add support for non-removable slots

Add support for non-removable slots which have no card detection GPIO
and which should not be polled for a card change.
Signed-off-by: default avatarTimo Kokkonen <>
Acked-by: default avatarLudovic Desroches <>
Signed-off-by: default avatarUlf Hansson <>
parent 0654bb3c
......@@ -560,6 +560,9 @@ atmci_of_init(struct platform_device *pdev)
pdata->slot[slot_id].detect_is_active_high =
of_property_read_bool(cnp, "cd-inverted");
pdata->slot[slot_id].non_removable =
of_property_read_bool(cnp, "non-removable");
pdata->slot[slot_id].wp_pin =
of_get_named_gpio(cnp, "wp-gpios", 0);
......@@ -2206,8 +2209,12 @@ static int __init atmci_init_slot(struct atmel_mci *host,
if (!gpio_is_valid(slot->detect_pin))
mmc->caps |= MMC_CAP_NEEDS_POLL;
if (!gpio_is_valid(slot->detect_pin)) {
if (slot_data->non_removable)
mmc->caps |= MMC_CAP_NEEDS_POLL;
if (gpio_is_valid(slot->wp_pin)) {
if (devm_gpio_request(&host->pdev->dev, slot->wp_pin,
......@@ -11,6 +11,7 @@
* @detect_pin: GPIO pin wired to the card detect switch
* @wp_pin: GPIO pin wired to the write protect sensor
* @detect_is_active_high: The state of the detect pin when it is active
* @non_removable: The slot is not removable, only detect once
* If a given slot is not present on the board, @bus_width should be
* set to 0. The other fields are ignored in this case.
......@@ -26,6 +27,7 @@ struct mci_slot_pdata {
int detect_pin;
int wp_pin;
bool detect_is_active_high;
bool non_removable;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment