Hi,
No need to pass a copy of the bcmdmac_channel structure to predicate
routines.

Comments? OK?

diff --git sys/dev/fdt/bcm2835_dmac.c sys/dev/fdt/bcm2835_dmac.c
index 145810dd7af..e9b31af568c 100644
--- sys/dev/fdt/bcm2835_dmac.c
+++ sys/dev/fdt/bcm2835_dmac.c
@@ -97,18 +97,18 @@ struct cfdriver bcmdmac_cd = { NULL, "bcmdmac", DV_DULL };
 
 /* utilities */
 enum bcmdmac_type
-bcmdmac_channel_type(struct bcmdmac_channel ch)
+bcmdmac_channel_type(struct bcmdmac_channel *ch)
 {
-       if (ISSET(ch.ch_debug, DMAC_DEBUG_LITE))
+       if (ISSET(ch->ch_debug, DMAC_DEBUG_LITE))
                return BCMDMAC_TYPE_LITE;
        else
                return BCMDMAC_TYPE_NORMAL;
 }
 
 int
-bcmdmac_channel_used(struct bcmdmac_channel ch)
+bcmdmac_channel_used(struct bcmdmac_channel *ch)
 {
-       return ch.ch_callback != NULL;
+       return ch->ch_callback != NULL;
 }
 
 void
@@ -233,9 +233,9 @@ bcmdmac_alloc(enum bcmdmac_type type, int ipl,
        for (index = 0; index < sc->sc_nchannels; index++) {
                if (!ISSET(sc->sc_channelmask, (1 << index)))
                        continue;
-               if (bcmdmac_channel_type(sc->sc_channels[index]) != type)
+               if (bcmdmac_channel_type(&sc->sc_channels[index]) != type)
                        continue;
-               if (bcmdmac_channel_used(sc->sc_channels[index]))
+               if (bcmdmac_channel_used(&sc->sc_channels[index]))
                        continue;
 
                ch = &sc->sc_channels[index];

Reply via email to