Re: [PATCH 1/8] LinuxPPS core support.

From: Rodolfo Giometti
Date: Mon Feb 11 2008 - 13:29:10 EST


On Mon, Feb 11, 2008 at 07:25:42AM -0800, Greg KH wrote:
> On Mon, Feb 11, 2008 at 10:53:46AM +0100, Rodolfo Giometti wrote:
> > On Fri, Feb 08, 2008 at 10:45:31PM -0800, Greg KH wrote:
> > >
> > > As you are adding sysfs files, please also describe them in
> > > Documentation/ABI/ in this same series of patches.
> >
> > Ok. I'm going to add them under "testing".
> >
> > > Why not use a default attribute group?
> > >
> > > That way the files are created before the uevent is issued, and the
> > > amount of code you have to write is much smaller.
> >
> > What do you mean exactly? I don't understand what you wish. :'(
>
> If you use a 'struct device' you can use a default attribute group for
> that device to be created whenever it is added.
>
> However you are not using the driver core that way, you are just calling
> device_create(), which doesn't work that way.
>
> But you can just use an attribute group instead, which still saves you a
> lot of code, try using that instead (sysfs_create_group()).
>
> Or go all the way and embed a 'struct device' in your structure, and
> create a bus, then you can use the default attribute group, although
> that might be a bit more work :)

I see but how can I manage the fact that files "assert" and "clear"
are created according to pps->info.mode field content?

See the code:

int pps_sysfs_create_source_entry(struct pps_device *pps)
{
int ret;

/* Create file "assert" and "clear" according to source capability */
if (pps->info.mode & PPS_CAPTUREASSERT) {
ret = device_create_file(pps->dev, &dev_attr_assert);
if (ret)
dev_err(pps->dev, "unable to create \"assert\" "
"sysfs entry");
}

if (pps->info.mode & PPS_CAPTURECLEAR) {
ret = device_create_file(pps->dev, &dev_attr_clear);
if (ret)
dev_err(pps->dev, "unable to create \"clear\" "
"sysfs entry");
}

ret = device_create_file(pps->dev, &dev_attr_mode);
if (ret)
dev_err(pps->dev, "unable to create \"mode\" sysfs entry");

Do you think is better create these files anyway and in case report a
NULL string?

Thanks,

Rodolfo

--

GNU/Linux Solutions e-mail: giometti@xxxxxxxxxxxx
Linux Device Driver giometti@xxxxxxxxx
Embedded Systems giometti@xxxxxxxx
UNIX programming phone: +39 349 2432127
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/