On 22/08/12 20:59, Mark Brown wrote: >> + if (of_machine_is_compatible("lantiq,ase")) >> > + master->num_chipselect = 3; >> > + else >> > + master->num_chipselect = 6; > This is very suspicious - why is this being done based on the machine > rather than based on the IP? Surely there can be machines with this SoC > on which aren't compatible with whatever (reference?) board this is > matching on. I'd expect that the driver would have multiple compatible > strings which it uses to distinguish the capabilities of the IP. > > Though actually the driver never reads this value so perhaps the code > can just be deleted and we rely on the fact that if the /CS isn't > physically present nobody's going to hook it up on a board so just > always set it to 6? > Thanks for the review i will rework the driver, add a binding doc and resend ... is there a equivalent of of_machine_is_compatible for IP ? John