Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Apr 2020 12:31:12 +0000 (UTC)
From:      Emmanuel Vadot <manu@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r360007 - head/sys/dev/mmc
Message-ID:  <202004161231.03GCVCFU003647@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: manu
Date: Thu Apr 16 12:31:12 2020
New Revision: 360007
URL: https://svnweb.freebsd.org/changeset/base/360007

Log:
  Revert r359965
  
  This cause board without a cd-gpio to not schedule a card detection.

Modified:
  head/sys/dev/mmc/mmc_fdt_helpers.c

Modified: head/sys/dev/mmc/mmc_fdt_helpers.c
==============================================================================
--- head/sys/dev/mmc/mmc_fdt_helpers.c	Thu Apr 16 11:49:13 2020	(r360006)
+++ head/sys/dev/mmc/mmc_fdt_helpers.c	Thu Apr 16 12:31:12 2020	(r360007)
@@ -217,7 +217,7 @@ cd_card_task(void *arg, int pending __unused)
 /*
  * Card detect setup.
  */
-static bool
+static void
 cd_setup(struct mmc_fdt_helper *helper, phandle_t node)
 {
 	int pincaps;
@@ -233,7 +233,7 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node
 		helper->cd_disabled = true;
 		if (bootverbose)
 			device_printf(dev, "Non-removable media\n");
-		return (false);
+		return;
 	}
 
 	/*
@@ -246,14 +246,14 @@ cd_setup(struct mmc_fdt_helper *helper, phandle_t node
 	 */
 	if (gpio_pin_get_by_ofw_property(dev, node, "cd-gpios",
 	    &helper->cd_pin))
-		return (false);
+		return;
 
 	if (gpio_pin_getcaps(helper->cd_pin, &pincaps) != 0 ||
 	    !(pincaps & GPIO_PIN_INPUT)) {
 		device_printf(dev, "Cannot read card-detect gpio pin; "
 		    "setting card-always-present flag.\n");
 		helper->cd_disabled = true;
-		return (false);
+		return;
 	}
 
 	/*
@@ -313,8 +313,6 @@ without_interrupts:
 		    device_get_nameunit(helper->cd_pin->dev), helper->cd_pin->pin,
 		    cd_mode_str);
 	}
-
-	return (true);
 }
 
 /*
@@ -356,16 +354,14 @@ mmc_fdt_gpio_setup(device_t dev, phandle_t node, struc
 
 	helper->dev = dev;
 	helper->cd_handler = handler;
+	cd_setup(helper, node);
 	wp_setup(helper, node);
 
-	if (cd_setup(helper, node)) {
-		/* 
-		 * Schedule a card detection
-		 */
-		taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant,
-		    &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2));
-	}
-
+	/* 
+	 * Schedule a card detection
+	 */
+	taskqueue_enqueue_timeout_sbt(taskqueue_swi_giant,
+	    &helper->cd_delayed_task, mstosbt(500), 0, C_PREL(2));
 	return (0);
 }
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004161231.03GCVCFU003647>