This series removes convoluted handling of inverted CD and WP lines in SD/MMC host drivers when using GPIOs. First patch adds an API: gpiod_toggle_active_low() that switches line inversion flag in the gpiod structure. Next two patches modify MMC host's WP and CD initialization to apply all the inversions onto gpiod's active-low flag. Final patch removes now-unused argument from init functions. x86 allyesconfig build-tested. v2: move argument removal in sdhci-esdhc-imx.c to last patch Michał Mirosław (4): gpio: add gpiod_toggle_active_low() mmc: rework wp-gpio handling mmc: rework cd-gpio handling mmc: remove mmc_gpiod_request_*(invert_gpio) drivers/gpio/gpiolib-of.c | 21 ------------------- drivers/gpio/gpiolib.c | 11 ++++++++++ drivers/mmc/core/host.c | 33 ++++++++---------------------- drivers/mmc/core/slot-gpio.c | 31 ++++++++++------------------ drivers/mmc/host/davinci_mmc.c | 4 ++-- drivers/mmc/host/mmc_spi.c | 4 ++-- drivers/mmc/host/mmci.c | 4 ++-- drivers/mmc/host/pxamci.c | 12 +++++------ drivers/mmc/host/s3cmci.c | 4 ++-- drivers/mmc/host/sdhci-acpi.c | 2 +- drivers/mmc/host/sdhci-esdhc-imx.c | 15 +++++++------- drivers/mmc/host/sdhci-pci-core.c | 4 ++-- drivers/mmc/host/sdhci-sirf.c | 2 +- drivers/mmc/host/sdhci-spear.c | 2 +- drivers/mmc/host/tmio_mmc_core.c | 2 +- include/linux/gpio/consumer.h | 7 +++++++ include/linux/mmc/slot-gpio.h | 5 ++--- 17 files changed, 67 insertions(+), 96 deletions(-) -- 2.20.1