Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/sun3/dev



riastradh@ wrote:

> > Modified Files:
> >         src/sys/arch/sun3/dev: bw2.c cg2.c cg4.c fb.c fd.c kd.c xd.c xy.c
> > 
> > Log Message:
> > Make local dev_type_*() functions static.
> 
> While you're doing this kind of cleanup, maybe you could also change
> 
> static dev_type_open(foo_open);
> 
> to
> 
> static dev_open_t foo_open;
> 
> so we have less unnecessary macro magic for forward declarations.

Well, there are so many existing MI implementations so
maybe we need major cleanup?

---
% grep -R 'static dev_type' sys/dev | wc -l
     352
% grep -R 'static dev_type' sys/dev 
sys/dev/acpi/acpi_dev.c:static dev_type_read(acpi_read);
sys/dev/ccd.c:static dev_type_open(ccdopen);
sys/dev/ccd.c:static dev_type_close(ccdclose);
sys/dev/ccd.c:static dev_type_read(ccdread);
sys/dev/ccd.c:static dev_type_write(ccdwrite);
sys/dev/ccd.c:static dev_type_ioctl(ccdioctl);
sys/dev/ccd.c:static dev_type_strategy(ccdstrategy);
sys/dev/ccd.c:static dev_type_size(ccdsize);
sys/dev/cgd.c:static dev_type_open(cgdopen);
sys/dev/cgd.c:static dev_type_close(cgdclose);
sys/dev/cgd.c:static dev_type_read(cgdread);
sys/dev/cgd.c:static dev_type_write(cgdwrite);
sys/dev/cgd.c:static dev_type_ioctl(cgdioctl);
sys/dev/cgd.c:static dev_type_strategy(cgdstrategy);
sys/dev/cgd.c:static dev_type_dump(cgddump);
sys/dev/cgd.c:static dev_type_size(cgdsize);
sys/dev/efi.c:static dev_type_open(efi_open);
sys/dev/efi.c:static dev_type_close(efi_close);
sys/dev/efi.c:static dev_type_ioctl(efi_ioctl);

 :
---

> (This is all the dev_type_* macros expand to; there's really no need
> for them -- and using them is longer than their expansion!)

Note <dev/cons.h> for cons(9) has actually function declarations,
unlike <sys/conf.h> (not sure if there were historical reasons):

---
/* console-specific types */
#define dev_type_cnprobe(n)     void n(struct consdev *)
#define dev_type_cninit(n)      void n(struct consdev *)
#define dev_type_cngetc(n)      int n(dev_t)
#define dev_type_cnputc(n)      void n(dev_t, int)
#define dev_type_cnpollc(n)     void n(dev_t, int)
#define dev_type_cnbell(n)      void n(dev_t, u_int, u_int, u_int)
#define dev_type_cnhalt(n)      void n(dev_t)
#define dev_type_cnflush(n)     void n(dev_t)

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index