Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 22 Oct 2016 16:24:12 +0000 (UTC)
From:      Oleksandr Tymoshenko <gonzo@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org
Subject:   svn commit: r307776 - in stable/11/sys: arm/broadcom/bcm2835 arm/conf modules/rpi_ft5406
Message-ID:  <201610221624.u9MGOCnY011570@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: gonzo
Date: Sat Oct 22 16:24:12 2016
New Revision: 307776
URL: https://svnweb.freebsd.org/changeset/base/307776

Log:
  MFC r306618, r306619
  
  r306618:
  Fix attach/detach methods
  
  - Initialize lock before starting worker process
  - Do not hold lock when destroying evdev. By that time ther should be no
      other active code pathes that can access softc
  
  r306619:
  Add rpi_ft5406 module and add it to extra modules in Raspberry Pi configs

Added:
  stable/11/sys/modules/rpi_ft5406/
     - copied from r306619, head/sys/modules/rpi_ft5406/
Modified:
  stable/11/sys/arm/broadcom/bcm2835/bcm2835_ft5406.c
  stable/11/sys/arm/conf/RPI-B
  stable/11/sys/arm/conf/RPI2
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/arm/broadcom/bcm2835/bcm2835_ft5406.c
==============================================================================
--- stable/11/sys/arm/broadcom/bcm2835/bcm2835_ft5406.c	Sat Oct 22 15:26:32 2016	(r307775)
+++ stable/11/sys/arm/broadcom/bcm2835/bcm2835_ft5406.c	Sat Oct 22 16:24:12 2016	(r307776)
@@ -288,13 +288,13 @@ ft5406ts_attach(device_t dev)
 	sc->sc_init_hook.ich_func = ft5406ts_init;
 	sc->sc_init_hook.ich_arg = sc;
 
+	FT5406_LOCK_INIT(sc);
+
 	if (config_intrhook_establish(&sc->sc_init_hook) != 0) {
 		device_printf(dev, "config_intrhook_establish failed\n");
 		return (ENOMEM);
 	}
 
-	FT5406_LOCK_INIT(sc);
-
 	return (0);
 }
 
@@ -308,10 +308,11 @@ ft5406ts_detach(device_t dev)
 	FT5406_LOCK(sc);
 	if (sc->sc_worker)
 		sc->sc_detaching = 1;
+	wakeup(sc);
+	FT5406_UNLOCK(sc);
 
 	if (sc->sc_evdev)
 		evdev_free(sc->sc_evdev);
-	FT5406_UNLOCK(sc);
 
 	FT5406_LOCK_DESTROY(sc);
 

Modified: stable/11/sys/arm/conf/RPI-B
==============================================================================
--- stable/11/sys/arm/conf/RPI-B	Sat Oct 22 15:26:32 2016	(r307775)
+++ stable/11/sys/arm/conf/RPI-B	Sat Oct 22 16:24:12 2016	(r307776)
@@ -94,4 +94,4 @@ options 	FDT			# Configure using FDT/DTB
 # handed to kernel via U-Boot and ubldr.
 #options 	FDT_DTB_STATIC
 #makeoptions	FDT_DTS_FILE=rpi.dts
-makeoptions	MODULES_EXTRA=dtb/rpi
+makeoptions	MODULES_EXTRA="dtb/rpi rpi_ft5406"

Modified: stable/11/sys/arm/conf/RPI2
==============================================================================
--- stable/11/sys/arm/conf/RPI2	Sat Oct 22 15:26:32 2016	(r307775)
+++ stable/11/sys/arm/conf/RPI2	Sat Oct 22 16:24:12 2016	(r307776)
@@ -98,4 +98,4 @@ options 	FDT			# Configure using FDT/DTB
 # handed to kernel via U-Boot and ubldr.
 #options 	FDT_DTB_STATIC
 #makeoptions	FDT_DTS_FILE=rpi2.dts
-makeoptions	MODULES_EXTRA=dtb/rpi
+makeoptions	MODULES_EXTRA="dtb/rpi rpi_ft5406"



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