Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Jan 2007 21:51:19 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        peter@freebsd.org
Cc:        perforce@freebsd.org
Subject:   Re: PERFORCE change 112755 for review
Message-ID:  <20070110.215119.1021576971.imp@bsdimp.com>
In-Reply-To: <200701110211.l0B2B1sl023597@repoman.freebsd.org>
References:  <200701110211.l0B2B1sl023597@repoman.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <200701110211.l0B2B1sl023597@repoman.freebsd.org>
            Peter Wemm <peter@freebsd.org> writes:
: http://perforce.freebsd.org/chv.cgi?CH=112755
: 
: Change 112755 by peter@peter_overcee on 2007/01/11 02:10:31
: 
: 	Ignore the warnings and copy this bit of necessary code to avoid
: 	sio unit numbers from sio_pci to sio_puc.  Marcel left this out in
: 	the great puc rewrite.

I have some changes that I'm working on in my tree that should obviate
the need for this entirely...  But until they are in, you are going to
need to do this...

Warner

: Affected files ...
: 
: .. //depot/projects/hammer/sys/dev/sio/sio_puc.c#8 edit
: 
: Differences ...
: 
: ==== //depot/projects/hammer/sys/dev/sio/sio_puc.c#8 (text+ko) ====
: 
: @@ -62,6 +62,34 @@
:  	0,
:  };
:  
: +/*
: + * Don't cut and paste this to other drivers.  It is a horrible kludge
: + * which will fail to work and also be unnecessary in future versions.
: + */
: +static void
: +sio_puc_kludge_unit(device_t dev)
: +{
: +	devclass_t	dc;
: +	int		err;
: +	int		start;
: +	int		unit;
: +
: +	unit = 0;
: +	start = 0;
: +	while (resource_int_value("sio", unit, "port", &start) == 0 && 
: +	    start > 0)
: +		unit++;
: +	if (device_get_unit(dev) < unit) {
: +		dc = device_get_devclass(dev);
: +		while (devclass_get_device(dc, unit))
: +			unit++;
: +		device_printf(dev, "moving to sio%d\n", unit);
: +		err = device_set_unit(dev, unit);	/* EVIL DO NOT COPY */
: +		if (err)
: +			device_printf(dev, "error moving device %d\n", err);
: +	}
: +}
: +
:  static int
:  sio_puc_attach(device_t dev)
:  {
: @@ -70,6 +98,7 @@
:  	if (BUS_READ_IVAR(device_get_parent(dev), dev, PUC_IVAR_CLOCK,
:  	    &rclk) != 0)
:  		rclk = DEFAULT_RCLK;
: +	sio_puc_kludge_unit(dev);
:  	return (sioattach(dev, 0, rclk));
:  }
:  
: 



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