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

Re: [Lost] [Patch] cdi: DMA und ein paar kleinere Dinge



Am Samstag, 22. Dezember 2007 10.41:38 schrieb Kevin Wolf:
> > +/**
> > + * Initialisiert einen Transport per DMA
> > + */
> > +int cdi_dma_open(struct cdi_dma_handle* handle, uint8_t channel, uint8_t
> > mode, +    size_t length);
> > +
> > +/**
> > + * Liest Daten per DMA ein
> > + */
> > +int cdi_dma_read(struct cdi_dma_handle* handle, void* buffer);
>
> Wäre es nicht sinnvoller, die Länge nicht ins open, sondern ins read zu
> packen? Puffer übergeben ohne Länge verursacht bei mir immer so ein
> leicht ungutes Gefühl. ;-)
Das kann ich schon machen, die Konsequenz wäre aber, dass der DMA-Controller 
erst hier im Read initialisiert würde, und das würde wohl bei keinem Treiber 
funktionieren, da man ja die Daten meist erst lesen will, wenn sie da 
sind. ;-)


> > Index: lib/cdi.c
> > ===================================================================
> > --- lib/cdi.c	(Revision 656)
> > +++ lib/cdi.c	(Arbeitskopie)
> > @@ -31,6 +32,9 @@
> >  {
> >      drivers = list_create();
> >      atexit(cdi_destroy);
> > +
> > +    lostio_init();
> > +    lostio_type_directory_use();
> >  }
> >
> > @@ -93,6 +98,7 @@
> >  void cdi_driver_register(struct cdi_driver* driver)
> >  {
> >      list_push(drivers, driver);
> > +    init_service_register((char*) driver->name);
> >  }
>
> Ist es wirklich eine gute Idee, das zu machen, egal ob der Treiber
> LostIO braucht oder nicht? Oder gibt es einfach per definitionem keine
> Treiber, die es nicht brauchen? ;-)
Naja, ich kann es auch so machen, dass der erste Treiber, der ein 
LostIO-Interface hat, LostIO allgemein für den Treiber initialisiert und ihn 
registiert. Aber gibt es bei uns Treiber, die das nicht brauchen? Okay, im 
Moment vielleicht noch deine Netzwerkkarten, aber das wird doch auch ändern, 
oder?