Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 29 May 2009 06:41:23 +0000 (UTC)
From:      Ed Schouten <ed@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r193018 - in head/sys: dev/cfe dev/dcons dev/nmdm dev/ofw dev/rp dev/si dev/syscons dev/uart dev/usb/serial dev/xen/console ia64/ia64 kern sun4v/sun4v sys
Message-ID:  <200905290641.n4T6fOnb062243@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ed
Date: Fri May 29 06:41:23 2009
New Revision: 193018
URL: http://svn.freebsd.org/changeset/base/193018

Log:
  Last minute TTY API change: remove mutex argument from tty_alloc().
  
  I don't want people to override the mutex when allocating a TTY. It has
  to be there, to keep drivers like syscons happy. So I'm creating a
  tty_alloc_mutex() which can be used in those cases. tty_alloc_mutex()
  should eventually be removed.
  
  The advantage of this approach, is that we can just remove a function,
  without breaking the regular API in the future.

Modified:
  head/sys/dev/cfe/cfe_console.c
  head/sys/dev/dcons/dcons_os.c
  head/sys/dev/nmdm/nmdm.c
  head/sys/dev/ofw/ofw_console.c
  head/sys/dev/rp/rp.c
  head/sys/dev/si/si.c
  head/sys/dev/syscons/syscons.c
  head/sys/dev/syscons/sysmouse.c
  head/sys/dev/uart/uart_tty.c
  head/sys/dev/usb/serial/usb_serial.c
  head/sys/dev/xen/console/console.c
  head/sys/ia64/ia64/ssc.c
  head/sys/kern/tty.c
  head/sys/kern/tty_pts.c
  head/sys/sun4v/sun4v/hvcons.c
  head/sys/sys/tty.h

Modified: head/sys/dev/cfe/cfe_console.c
==============================================================================
--- head/sys/dev/cfe/cfe_console.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/cfe/cfe_console.c	Fri May 29 06:41:23 2009	(r193018)
@@ -89,7 +89,7 @@ cn_drvinit(void *unused)
 
 	if (cfe_consdev.cn_pri != CN_DEAD &&
 	    cfe_consdev.cn_name[0] != '\0') {
-		tp = tty_alloc(&cfe_ttydevsw, NULL, NULL);
+		tp = tty_alloc(&cfe_ttydevsw, NULL);
 		tty_makedev(tp, NULL, "%s", output);
 		tty_makealias(tp, "cfecons");
 	}

Modified: head/sys/dev/dcons/dcons_os.c
==============================================================================
--- head/sys/dev/dcons/dcons_os.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/dcons/dcons_os.c	Fri May 29 06:41:23 2009	(r193018)
@@ -357,7 +357,7 @@ dcons_attach_port(int port, char *name, 
 	struct tty *tp;
 
 	dc = &sc[port];
-	tp = tty_alloc(&dcons_ttydevsw, dc, NULL);
+	tp = tty_alloc(&dcons_ttydevsw, dc);
 	dc->flags = flags;
 	dc->tty   = tp;
 	tty_init_console(tp, 0);

Modified: head/sys/dev/nmdm/nmdm.c
==============================================================================
--- head/sys/dev/nmdm/nmdm.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/nmdm/nmdm.c	Fri May 29 06:41:23 2009	(r193018)
@@ -117,11 +117,11 @@ nmdm_alloc(unsigned long unit)
 	callout_init(&ns->ns_part2.np_callout, CALLOUT_MPSAFE);
 
 	/* Create device nodes. */
-	tp = ns->ns_part1.np_tty = tty_alloc(&nmdm_class, &ns->ns_part1,
+	tp = ns->ns_part1.np_tty = tty_alloc_mutex(&nmdm_class, &ns->ns_part1,
 	    &ns->ns_mtx);
 	tty_makedev(tp, NULL, "nmdm%luA", unit);
 
-	tp = ns->ns_part2.np_tty = tty_alloc(&nmdm_class, &ns->ns_part2,
+	tp = ns->ns_part2.np_tty = tty_alloc_mutex(&nmdm_class, &ns->ns_part2,
 	    &ns->ns_mtx);
 	tty_makedev(tp, NULL, "nmdm%luB", unit);
 

Modified: head/sys/dev/ofw/ofw_console.c
==============================================================================
--- head/sys/dev/ofw/ofw_console.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/ofw/ofw_console.c	Fri May 29 06:41:23 2009	(r193018)
@@ -95,7 +95,7 @@ cn_drvinit(void *unused)
 		 * XXX: This is a hack and it may result in two /dev/ttya
 		 * XXX: devices on platforms where the sab driver works.
 		 */
-		tp = tty_alloc(&ofw_ttydevsw, NULL, NULL);
+		tp = tty_alloc(&ofw_ttydevsw, NULL);
 		tty_makedev(tp, NULL, "%s", output);
 		tty_makealias(tp, "ofwcons");
 	}

Modified: head/sys/dev/rp/rp.c
==============================================================================
--- head/sys/dev/rp/rp.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/rp/rp.c	Fri May 29 06:41:23 2009	(r193018)
@@ -774,7 +774,7 @@ rp_attachcommon(CONTROLLER_T *ctlp, int 
 	for(aiop=0; aiop < num_aiops; aiop++) {
 		num_chan = sGetAiopNumChan(ctlp, aiop);
 		for(chan=0; chan < num_chan; chan++, port++, rp++) {
-			rp->rp_tty = tp = tty_alloc(&rp_tty_class, rp, NULL);
+			rp->rp_tty = tp = tty_alloc(&rp_tty_class, rp);
 			rp->rp_port = port;
 			rp->rp_ctlp = ctlp;
 			rp->rp_unit = unit;

Modified: head/sys/dev/si/si.c
==============================================================================
--- head/sys/dev/si/si.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/si/si.c	Fri May 29 06:41:23 2009	(r193018)
@@ -584,7 +584,7 @@ try_next:
 			sprintf(pp->sp_name, "si%r%r", unit,
 			    (int)(pp - sc->sc_ports));
 #endif
-			tp = pp->sp_tty = tty_alloc(&si_tty_class, pp, &Giant);
+			tp = pp->sp_tty = tty_alloc_mutex(&si_tty_class, pp, &Giant);
 			tty_makedev(tp, NULL, "A%r%r", unit, (int)(pp - sc->sc_ports));
 		}
 try_next2:

Modified: head/sys/dev/syscons/syscons.c
==============================================================================
--- head/sys/dev/syscons/syscons.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/syscons/syscons.c	Fri May 29 06:41:23 2009	(r193018)
@@ -334,7 +334,7 @@ sc_alloc_tty(int index, int devnum)
 	stc = malloc(sizeof(struct sc_ttysoftc), M_DEVBUF, M_WAITOK);
 	stc->st_index = index;
 	stc->st_stat = NULL;
-	tp = tty_alloc(&sc_ttydevsw, stc, &Giant);
+	tp = tty_alloc_mutex(&sc_ttydevsw, stc, &Giant);
 
 	/* Create device node. */
 	tty_makedev(tp, NULL, "v%r", devnum);

Modified: head/sys/dev/syscons/sysmouse.c
==============================================================================
--- head/sys/dev/syscons/sysmouse.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/syscons/sysmouse.c	Fri May 29 06:41:23 2009	(r193018)
@@ -164,7 +164,7 @@ static struct ttydevsw smdev_ttydevsw = 
 static void
 sm_attach_mouse(void *unused)
 {
-	sysmouse_tty = tty_alloc(&smdev_ttydevsw, NULL, NULL);
+	sysmouse_tty = tty_alloc(&smdev_ttydevsw, NULL);
 	tty_makedev(sysmouse_tty, NULL, "sysmouse");
 }
 

Modified: head/sys/dev/uart/uart_tty.c
==============================================================================
--- head/sys/dev/uart/uart_tty.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/uart/uart_tty.c	Fri May 29 06:41:23 2009	(r193018)
@@ -356,7 +356,7 @@ uart_tty_attach(struct uart_softc *sc)
 	struct tty *tp;
 	int unit;
 
-	sc->sc_u.u_tty.tp = tp = tty_alloc(&uart_tty_class, sc, NULL);
+	sc->sc_u.u_tty.tp = tp = tty_alloc(&uart_tty_class, sc);
 
 	unit = device_get_unit(sc->sc_dev);
 

Modified: head/sys/dev/usb/serial/usb_serial.c
==============================================================================
--- head/sys/dev/usb/serial/usb_serial.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/usb/serial/usb_serial.c	Fri May 29 06:41:23 2009	(r193018)
@@ -293,7 +293,7 @@ usb2_com_attach_tty(struct ucom_softc *s
 	int error = 0;
 	char buf[32];			/* temporary TTY device name buffer */
 
-	tp = tty_alloc(&usb2_com_class, sc, sc->sc_mtx);
+	tp = tty_alloc_mutex(&usb2_com_class, sc, sc->sc_mtx);
 	if (tp == NULL) {
 		error = ENOMEM;
 		goto done;

Modified: head/sys/dev/xen/console/console.c
==============================================================================
--- head/sys/dev/xen/console/console.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/dev/xen/console/console.c	Fri May 29 06:41:23 2009	(r193018)
@@ -230,7 +230,7 @@ xc_attach(device_t dev) 
 		xc_consdev.cn_putc = xccnputc_dom0;
 	} 
 
-	xccons = tty_alloc(&xc_ttydevsw, NULL, NULL);
+	xccons = tty_alloc(&xc_ttydevsw, NULL);
 	tty_makedev(xccons, NULL, "xc%r", 0);
 
 	callout_init(&xc_callout, 0);

Modified: head/sys/ia64/ia64/ssc.c
==============================================================================
--- head/sys/ia64/ia64/ssc.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/ia64/ia64/ssc.c	Fri May 29 06:41:23 2009	(r193018)
@@ -106,7 +106,7 @@ ssc_cnattach(void *arg)
 {
 	struct tty *tp;
 
-	tp = tty_alloc(&ssc_class, NULL, NULL);
+	tp = tty_alloc(&ssc_class, NULL);
 	tty_makedev(tp, NULL, "ssccons");
 }
 

Modified: head/sys/kern/tty.c
==============================================================================
--- head/sys/kern/tty.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/kern/tty.c	Fri May 29 06:41:23 2009	(r193018)
@@ -885,7 +885,14 @@ ttydevsw_deffree(void *softc)
  */
 
 struct tty *
-tty_alloc(struct ttydevsw *tsw, void *sc, struct mtx *mutex)
+tty_alloc(struct ttydevsw *tsw, void *sc)
+{
+
+	return (tty_alloc_mutex(tsw, sc, NULL));
+}
+
+struct tty *
+tty_alloc_mutex(struct ttydevsw *tsw, void *sc, struct mtx *mutex)
 {
 	struct tty *tp;
 

Modified: head/sys/kern/tty_pts.c
==============================================================================
--- head/sys/kern/tty_pts.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/kern/tty_pts.c	Fri May 29 06:41:23 2009	(r193018)
@@ -741,7 +741,7 @@ pts_alloc(int fflags, struct thread *td,
 	psc->pts_uidinfo = uid;
 	uihold(uid);
 
-	tp = tty_alloc(&pts_class, psc, NULL);
+	tp = tty_alloc(&pts_class, psc);
 	knlist_init(&psc->pts_inpoll.si_note, tp->t_mtx, NULL, NULL, NULL);
 	knlist_init(&psc->pts_outpoll.si_note, tp->t_mtx, NULL, NULL, NULL);
 
@@ -781,7 +781,7 @@ pts_alloc_external(int fflags, struct th
 	psc->pts_uidinfo = uid;
 	uihold(uid);
 
-	tp = tty_alloc(&pts_class, psc, NULL);
+	tp = tty_alloc(&pts_class, psc);
 	knlist_init(&psc->pts_inpoll.si_note, tp->t_mtx, NULL, NULL, NULL);
 	knlist_init(&psc->pts_outpoll.si_note, tp->t_mtx, NULL, NULL, NULL);
 

Modified: head/sys/sun4v/sun4v/hvcons.c
==============================================================================
--- head/sys/sun4v/sun4v/hvcons.c	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/sun4v/sun4v/hvcons.c	Fri May 29 06:41:23 2009	(r193018)
@@ -327,7 +327,7 @@ hvcn_dev_attach(device_t dev)
 	    hvcn_consdev.cn_name[0] == '\0') 
 		return (ENXIO);
 
-	tp = tty_alloc(&hvcn_class, NULL, NULL);
+	tp = tty_alloc(&hvcn_class, NULL);
 	tty_makedev(tp, NULL, "v%r", 1);
 	tty_makealias(tp, "hvcn");
 	

Modified: head/sys/sys/tty.h
==============================================================================
--- head/sys/sys/tty.h	Fri May 29 06:27:30 2009	(r193017)
+++ head/sys/sys/tty.h	Fri May 29 06:41:23 2009	(r193018)
@@ -152,7 +152,8 @@ struct xtty {
 #ifdef _KERNEL
 
 /* Allocation and deallocation. */
-struct tty *tty_alloc(struct ttydevsw *tsw, void *softc, struct mtx *mtx);
+struct tty *tty_alloc(struct ttydevsw *tsw, void *softc);
+struct tty *tty_alloc_mutex(struct ttydevsw *tsw, void *softc, struct mtx *mtx);
 void	tty_rel_pgrp(struct tty *tp, struct pgrp *pgrp);
 void	tty_rel_sess(struct tty *tp, struct session *sess);
 void	tty_rel_gone(struct tty *tp);



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