Re: UFS API in the kernel

From: subhashj
Date: Tue Sep 27 2016 - 19:05:24 EST


Hi Joao,


On 2016-09-26 18:10, Kiwoong Kim wrote:
Hi.

If you want to declare some things for user interface,
is it be better to put those thing include/uapi/linux/ than include/linux?

Agreed with Mr. Pinto's opinion with respect to implementing additional ioctls.

Yes, "scsi_host_template" allows the LLD's to export their ioctl callback and then you can use the sg interface to issue UFS specific ioctls. We had implemented similar ioctl for our use, here is the reference code: https://source.codeaurora.org/quic/la/kernel/msm-3.18/tree/drivers/scsi/ufs/ufshcd.c?h=LA.HB.1.1.1.c2#n6791. This was mainly done to export the UFS query request interface to user space. Declarations where exported under include/uapi/scsi/ufs/ . If you want to build upon this already existing functionality, i can post the formal patch on mailing list.

Regards,
Subhash



Regards.

-----Original Message-----
From: linux-scsi-owner@xxxxxxxxxxxxxxx [mailto:linux-scsi-
owner@xxxxxxxxxxxxxxx] On Behalf Of Shaun Tancheff
Sent: Tuesday, September 27, 2016 4:23 AM
To: Joao Pinto
Cc: linux-scsi@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
Subject: Re: UFS API in the kernel

On Thu, Sep 22, 2016 at 10:21 AM, Joao Pinto <Joao.Pinto@xxxxxxxxxxxx>
wrote:
> Hi!
>
> I am designing an application that has the goal to be an utility for
> Unipro and UFS testing purposes. This application is going to run on
> top of a recent Linux Kernel containing the new UFS stack (including the
new DWC drivers).
>
> I am considering doing the following:
> a) Create a new config item called CONFIG_UFS_CHARDEV which is going
> to create a char device responsible to make some IOCTL available for
> user-space applications
> b) Create a linux/ufs.h header file that contains data structures
> declarations that will be needed in user-space applications

I am not very familiar with UFS devices, that said you should have an sgX
chardev being created already so you can handle SG_IO requests.
There also appear to be some sysfs entries being created.

So between sg and sysfs you should be able to handle any user-space out of
band requests without resorting to making a new chardev.

Adding more sysfs entries, if you need them, should be fine.

You may find it easier to expand on the existing interfaces than to get
consensus on a new driver and ioctls.

Hope this helps,
Shaun

> Could you please advise me about what the correct approach should be
> to make it as standard as possible and usable in the future?
>
> Thank you very much for your help!
>
> regards,
> Joao
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi"
> in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo
> info at
> https://urldefense.proofpoint.com/v2/url?u=http-3A__vger.kernel.org_ma
> jordomo-2Dinfo.html&d=DQICaQ&c=IGDlg0lD0b-nebmJJ0Kp8A&r=Wg5NqlNlVTT7Ug
> l8V50qIHLe856QW0qfG3WVYGOrWzA&m=vJFB6pCywWtdvkgHz9Vc0jQz0xzeyZlr-7eCWY
> u88nM&s=yiQLPFpqmMrbqLZz1Jb3aNqOje2dRMLJHEzUDobwcXc&e=



--
Shaun Tancheff
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at
http://vger.kernel.org/majordomo-info.html


--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html