Subject: [PATCH v3 1/5] sc_phy:SmartCard(SC) PHY interface to SC controller

From: [email-masked] (Satish Patel)
Date: Fri, 30 May 2014 09:21:35 +0530

On 5/29/2014 7:17 PM, Rob Herring wrote:
> On Thu, May 29, 2014 at 3:34 AM, Satish Patel <[email-masked]> wrote:
>>
>>
>> On 5/29/2014 12:23 AM, Greg KH wrote:
>>>
>>> On Wed, May 28, 2014 at 02:27:13PM +0530, Satish Patel wrote:
>>>>
>>>> SmartCard controller uses this interface to communicate with
>>>> SmartCard via PHY
>>>>
>>>> Some SmartCard PHY has multiple slots for cards.
>>>> This inerface also enables controller to communicate
>>>> with one or more SmartCard connected over phy.
>>>>
>>>> interface structure includes following APIs
>>>> - set/get config
>>>> - activate/deactivate smart card
>>>> - warm reset
>>>> - register_notify (for card insert/remove/overheat)
>>>> - unregister_notify
>>>>
>>>> Signed-off-by: Satish Patel <[email-masked]>
>>>> ---
>>>>    Documentation/sc_phy.txt |  171
>>>> ++++++++++++++++++++++++++++++++++++++++++++++
>>>>    include/linux/sc_phy.h   |  136 ++++++++++++++++++++++++++++++++++++
>>>>    2 files changed, 307 insertions(+)
>>>>    create mode 100644 Documentation/sc_phy.txt
>>>>    create mode 100644 include/linux/sc_phy.h
>>>
>>>
>>> These are .h files, but where is the "api" functions that use
>>> these structures defined at?
>>>
>> This is like template/wrappers, smart card phy driver will write API
>> functions. And smartcard controller will call these functions.
>> With proposed approach, smartcard controller can communicate with any smart
>> card phy (TI/NxP) without change in code. Using DT entry smartcard and PHY
>> will gets connected with each other.
>> Refer diagram given @Documentation/sc_phy.txt.
>>
>>
>>> confused,
>
> I believe the api Greg is wondering about is the notifier which as I
> commented is not a good design.
>
> There is now a phy subsystem. I don't know if it has what you need,
> but you should look at it to determine if it will work or could be
> extended to work.
>
I have given my comments on notifier, it is required to notify real time 
events like card insert/remove to the smart card controller. As this 
interrupts tied to phy (in case phy is present) not with controller.

Existing phy subsystem does not support generic operations for the phy. 
If at all it adds supports for these, in future I am ok to get align 
with it.

> Rob