[PATCHv3 2.6.40 2/4] ARM: simpad: Cleanup CS3 accessors.

Jochen Friedrich jochen at scram.de
Fri Apr 29 10:38:37 EDT 2011


Hi Russell,

thanks for the review.

>> @@ -47,15 +43,15 @@ simpad_pcmcia_socket_state(struct soc_pcmcia_socket *skt,
>>   			   struct pcmcia_state *state)
>>   {
>>   	unsigned long levels = GPLR;
>> -	long cs3reg = get_cs3_shadow();
>> +	long cs3reg = simpad_get_cs3_shadow();
>>
>>   	state->detect=((levels&  GPIO_CF_CD)==0)?1:0;
>>   	state->ready=(levels&  GPIO_CF_IRQ)?1:0;
>>   	state->bvd1=1; /* Not available on Simpad. */
>>   	state->bvd2=1; /* Not available on Simpad. */
>>   	state->wrprot=0; /* Not available on Simpad. */
>> -
>> -	if((cs3reg&  0x0c) == 0x0c) {
>> +
>> +	if ((cs3reg&  0x0c) == 0x0c) {
>
> Are there no definitions for the 0x0c magic value?

Unfortunately, this function has a bug as it currently accesses EN0|EN1, 
but then this test is never true as EN1 is never being set in this 
driver. Intended was the access to PCMCIA_VS1|PCMCIA_VS2, but then 
get_cs3_shadow() was wrong and should now be simpad_get_cs3_ro().

I'll fix this and hope someone can test this as I don't have a Simpad 
with PCMCIA.

Thanks,
Jochen



More information about the linux-arm-kernel mailing list