On Fri, Jul 26, 2013 at 07:06:46PM +0530, Padmavathi Venna wrote:
Samsung has different versions of I2S introduced in different platforms. Each version has some new support added for multichannel, secondary fifo, s/w reset control and internal mux for rclk src clk. Each newly added change has a quirk. So this patch adds all the required quirks as driver data and based on compatible string from dtsi fetches the quirks.
As Russell indicated you should really keep the old name around, though marking them as deprecated is OK. However I'm not sure anyone will have deployed this so I'm not sure how much it matters - every downstream kernel I've seen was still using board files anyway.
The actual meat of the patch changing to a quirk scheme does look good, though.
-- compatible : "samsung,i2s-v5" +- compatible : should be one of the following.
- samsung,s3c6410-i2s: for 8/16/24bit stereo I2S. Previous versions
has only 8/16bit support.
- samsung,s3c6410-i2sv4: for 8/16/24bit multichannel(5.1 channel) I2S.
Introduced in s3c6410. This also applicable for s5p64x0 platforms.
- samsung,s5pc100-i2s: for 8/16/24bit multichannel(5.1 channel) I2S
with secondary fifo and s/w reset control.
- samsung,s5pv210-i2s: for 8/16/24bit multichannel(5.1) I2S with
secondary fifo, s/w reset control and internal mux for root clk src.
I think the -vN naming scheme was fine - I see where this came from but the main point was about having things identified by a string not switching the naming scheme. As you can see from the s3c6410 stuff the SoC isn't that helpful as a naming scheme as multiple IP versions appear on the same SoC.