[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4840716F.9000309@keyaccess.nl>
Date: Fri, 30 May 2008 23:28:15 +0200
From: Rene Herman <rene.herman@...access.nl>
To: Rene Herman <rene.herman@...access.nl>
CC: Bjorn Helgaas <bjorn.helgaas@...com>, Takashi Iwai <tiwai@...e.de>,
Alan Cox <alan@...rguk.ukuu.org.uk>,
Linux Kernel <linux-kernel@...r.kernel.org>,
ALSA devel <alsa-devel@...a-project.org>,
Andrew Morton <akpm@...l.org>,
Greg Kroah-Hartman <gregkh@...e.de>
Subject: [DEVICE MODEL] dev->dma_mask
On 30-05-08 23:15, Rene Herman wrote:
On ...
> @@ -167,6 +168,9 @@ struct pnp_card *pnp_alloc_card(struct pnp_protocol *protocol, int id, char *pnp
> sprintf(card->dev.bus_id, "%02x:%02x", card->protocol->number,
> card->number);
>
> + card->dev.coherent_dma_mask = DMA_24BIT_MASK;
> + card->dev.dma_mask = &card->dev.coherent_dma_mask;
> +
> dev_id = pnp_add_card_id(card, pnpid);
> if (!dev_id) {
> kfree(card);
>
... this note by the way I believe pnp_dev might as well get rid of its
dma_mask as well. As far I've googled up the history of that the reason
why dev->dma_mask is a pointer is only that it's been moved into struct
device from struct pci_dev where the latter location was kept as the
main one so as to not upset then current code.
Everyone else seems to have then faithfully cloned pci_dev and stuck it
in their private structs as well but for no good reason it would appear.
And in the case of the PnP ISA masks, we're talking about constant
masks, dictated by the shared global DMA controller and not the card
itself (there are a few ISA cards that do their own busmastering but
they're special) so the mask might as well just point to the coherent mask.
Unless I'm missing something ofcourse...
Rene.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists