> Date: Wed, 29 Aug 2018 09:53:59 +1000
> From: David Gwynne <[email protected]>
>
> this has autoconf(9) allocatethe todr struct thing as part of a softc
> instead of allocting it separately during attach.
>
> no functional change, just a shuffling of the deck chairs.
>
> ok?
>
> Index: prtc.c
> ===================================================================
> RCS file: /cvs/src/sys/arch/sparc64/dev/prtc.c,v
> retrieving revision 1.4
> diff -u -p -r1.4 prtc.c
> --- prtc.c 28 Aug 2018 00:00:42 -0000 1.4
> +++ prtc.c 28 Aug 2018 23:52:40 -0000
> @@ -35,11 +35,17 @@
>
> extern todr_chip_handle_t todr_handle;
>
> +struct prtc_softc {
> + struct device sc_dev;
> + struct todr_chip_handle
> + sc_todr_chip;
There is no reason to make this two lines. Otherwise ok kettenis@
> +};
> +
> int prtc_match(struct device *, void *, void *);
> void prtc_attach(struct device *, struct device *, void *);
>
> struct cfattach prtc_ca = {
> - sizeof(struct device), prtc_match, prtc_attach
> + sizeof(struct prtc_softc), prtc_match, prtc_attach
> };
>
> struct cfdriver prtc_cd = {
> @@ -66,7 +72,8 @@ prtc_match(struct device *parent, void *
> void
> prtc_attach(struct device *parent, struct device *self, void *aux)
> {
> - todr_chip_handle_t handle;
> + struct prtc_softc *sc = (struct prtc_softc *)self;
> + todr_chip_handle_t handle = &sc->sc_todr_chip;
> char buf[32];
> int opl;
>
> @@ -78,11 +85,7 @@ prtc_attach(struct device *parent, struc
>
> printf("\n");
>
> - handle = malloc(sizeof(struct todr_chip_handle), M_DEVBUF, M_NOWAIT);
> - if (handle == NULL)
> - panic("couldn't allocate todr_handle");
> -
> - handle->cookie = self;
> + handle->cookie = sc;
> if (opl) {
> handle->todr_gettime = prtc_opl_gettime;
> handle->todr_settime = prtc_opl_settime;
>
>