[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <200811221819.53186.david-b@pacbell.net>
Date: Sat, 22 Nov 2008 18:19:52 -0800
From: David Brownell <david-b@...bell.net>
To: Stefan Schmidt <stefan@...enfreihafen.org>
Cc: spi-devel-general@...ts.sourceforge.net,
Stefan Schmidt <stefan@...nmoko.org>, eric.y.miao@...il.com,
linux-kernel@...r.kernel.org, sameo@...nedhand.com,
linux-arm-kernel@...ts.arm.linux.org.uk,
Daniel Ribeiro <drwyrm@...il.com>
Subject: Re: [spi-devel-general] [patch 05/14] mfd: PCAP2 driver
On Saturday 22 November 2008, Stefan Schmidt wrote:
> >
> > Looks to me like you're almost all the way there already! :)
>
> We hope so, yes. :) Once we have the EZX/PXA dep gone you are fine with this
> patch? All SPI related stuff is ok from you?
SPI-specific bits:
- I'd have to see the patch. The last one I saw still didn't
list a SPI_MASTER dependency for the core MFD module.
- You should make ezx_pcap_write() and ezx_pcap_read() switch
over to spi_write_then_read(), to ensure it's never doing
DMA to/from the stack. I see a byte-order dependency too...
- For general paranoia, the probe() should abort if pcap.spi is
already set ... and its cleanup path, plus remove(), should
null that pointer.
- If you're going to mark the probe() as __devinit, then mark
the remove() as __devexit and use __devexit_p() in the driver
struct.
Other comments about the pcap2 core:
- The set_vreg() stuff would seem to make more sense in a
regulator subdevice and driver ... but that's more of a
general driver structure thing, and might be fixed later.
- Andrew seems to always want a comment explaining why the
IRQ handler for I2C and SPI devices needs to queue_work().
Maybe the threaded IRQ stuff will help there...
- The mask_event()/unmask_event() stuff looks like you're
more or less reinventing a baby "struct irq_chip", with
register_event() instead of request_irq().
- Those show_regs/store_regs calls would IMO make more sense
in debugfs than in sysfs.
- And the ADC sysfs support isn't supporting hwmon models.
(Neither does the twl4030 ADC support, but that's not been
submitted for mainline yet either...)
Re the IRQ stuff, this looks more like what i2c/chips/menelaus.c
did than mfd/twl4030-irq.c ... in general I think it's better to
pursue the latter approach, making genirq handle such stuff.
(Even though it's kind of awkward to use it for I2C or SPI based
interrupt controllers just now.)
- Dave
--
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