diff options
author | ed <ed@FreeBSD.org> | 2008-09-27 08:51:18 +0000 |
---|---|---|
committer | ed <ed@FreeBSD.org> | 2008-09-27 08:51:18 +0000 |
commit | 4efdef565f9a0ca3468534f97c6ac4aaaf747c9a (patch) | |
tree | dd0035910760a440d495b23940f57a42ed24ca85 /sys/dev/cp/if_cp.c | |
parent | d720932e5974ce75bf983cc61010a6eb70f94b86 (diff) | |
download | FreeBSD-src-4efdef565f9a0ca3468534f97c6ac4aaaf747c9a.zip FreeBSD-src-4efdef565f9a0ca3468534f97c6ac4aaaf747c9a.tar.gz |
Replace all calls to minor() with dev2unit().
After I removed all the unit2minor()/minor2unit() calls from the kernel
yesterday, I realised calling minor() everywhere is quite confusing.
Character devices now only have the ability to store a unit number, not
a minor number. Remove the confusion by using dev2unit() everywhere.
This commit could also be considered as a bug fix. A lot of drivers call
minor(), while they should actually be calling dev2unit(). In -CURRENT
this isn't a problem, but it turns out we never had any problem reports
related to that issue in the past. I suspect not many people connect
more than 256 pieces of the same hardware.
Reviewed by: kib
Diffstat (limited to 'sys/dev/cp/if_cp.c')
-rw-r--r-- | sys/dev/cp/if_cp.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/dev/cp/if_cp.c b/sys/dev/cp/if_cp.c index 36b12ab..0b300ce 100644 --- a/sys/dev/cp/if_cp.c +++ b/sys/dev/cp/if_cp.c @@ -999,7 +999,7 @@ static void cp_error (cp_chan_t *c, int data) */ static int cp_open (struct cdev *dev, int oflags, int devtype, struct thread *td) { - int unit = minor (dev); + int unit = dev2unit (dev); drv_t *d; if (unit >= NBRD*NCHAN || ! (d = channel[unit])) @@ -1013,7 +1013,7 @@ static int cp_open (struct cdev *dev, int oflags, int devtype, struct thread *td */ static int cp_close (struct cdev *dev, int fflag, int devtype, struct thread *td) { - drv_t *d = channel [minor (dev)]; + drv_t *d = channel [dev2unit (dev)]; CP_DEBUG2 (d, ("cp_close\n")); return 0; @@ -1040,7 +1040,7 @@ static int cp_modem_status (cp_chan_t *c) static int cp_ioctl (struct cdev *dev, u_long cmd, caddr_t data, int flag, struct thread *td) { - drv_t *d = channel [minor (dev)]; + drv_t *d = channel [dev2unit (dev)]; bdrv_t *bd = d->board->sys; cp_chan_t *c = d->chan; struct serial_statistics *st; |