> -----Original Message----- > From: Greg KH [mailto:gregkh@xxxxxxxxxxxxxxxxxxx] > Sent: Tuesday, October 27, 2015 12:40 AM > To: Pan Lijun-B44306 <Lijun.Pan@xxxxxxxxxxxxx> > Cc: arnd@xxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxx; linux- > kernel@xxxxxxxxxxxxxxx; Hamciuc Bogdan-BHAMCIU1 > <bhamciu1@xxxxxxxxxxxxx>; Sharma Bhupesh-B45370 > <bhupesh.sharma@xxxxxxxxxxxxx>; Rivera Jose-B46482 > <German.Rivera@xxxxxxxxxxxxx>; agraf@xxxxxxx; Yoder Stuart-B08248 > <stuart.yoder@xxxxxxxxxxxxx>; Erez Nir-RM30794 <nir.erez@xxxxxxxxxxxxx>; > katz Itai-RM05202 <itai.katz@xxxxxxxxxxxxx>; Wood Scott-B07421 > <scottwood@xxxxxxxxxxxxx>; Li Yang-Leo-R58472 <LeoLi@xxxxxxxxxxxxx>; > Marginean Alexandru-R89243 <R89243@xxxxxxxxxxxxx>; > dan.carpenter@xxxxxxxxxx; Schmitt Richard-B43082 > <richard.schmitt@xxxxxxxxxxxxx> > Subject: Re: [PATCH 4/5] staging: fsl-mc: bus rescan attribute to sync kernel > with MC > > On Sun, Oct 25, 2015 at 05:41:22PM -0500, Lijun Pan wrote: > > Introduce the rescan attribute as a bus attribute to synchronize the > > fsl-mc bus objects and the MC firmware. > > > > To rescan the fsl-mc bus, e.g., > > echo 1 > /sys/bus/fsl-mc/rescan > > > > Signed-off-by: Lijun Pan <Lijun.Pan@xxxxxxxxxxxxx> > > --- > > drivers/staging/fsl-mc/bus/mc-bus.c | 46 > > +++++++++++++++++++++++++++++++++++++ > > 1 file changed, 46 insertions(+) > > > > diff --git a/drivers/staging/fsl-mc/bus/mc-bus.c > > b/drivers/staging/fsl-mc/bus/mc-bus.c > > index 33a56ad..f1baad7 100644 > > --- a/drivers/staging/fsl-mc/bus/mc-bus.c > > +++ b/drivers/staging/fsl-mc/bus/mc-bus.c > > @@ -144,11 +144,57 @@ static const struct attribute_group > *fsl_mc_dev_groups[] = { > > NULL, > > }; > > > > +static int scan_fsl_mc_bus(struct device *dev, void *data) { > > + struct fsl_mc_device *root_mc_dev; > > + struct fsl_mc_bus *root_mc_bus; > > + > > + if (is_root_dprc(dev)) { > > + root_mc_dev = to_fsl_mc_device(dev); > > + root_mc_bus = to_fsl_mc_bus(root_mc_dev); > > + mutex_lock(&root_mc_bus->scan_mutex); > > + dprc_scan_objects(root_mc_dev); > > + mutex_unlock(&root_mc_bus->scan_mutex); > > + } > > + > > + return 0; > > +} > > + > > +static ssize_t bus_rescan_store(struct bus_type *bus, > > + const char *buf, size_t count) { > > + unsigned long val; > > + > > + if (kstrtoul(buf, 0, &val) < 0) > > + return -EINVAL; > > + > > + if (val) > > + bus_for_each_dev(bus, NULL, NULL, scan_fsl_mc_bus); > > + > > + return count; > > +} > > +static BUS_ATTR(rescan, (S_IWUSR|S_IWGRP), NULL, bus_rescan_store); > > + > > +static struct attribute *fsl_mc_bus_attrs[] = { > > + &bus_attr_rescan.attr, > > + NULL, > > +}; > > + > > +static const struct attribute_group fsl_mc_bus_group = { > > + .attrs = fsl_mc_bus_attrs, > > +}; > > + > > +static const struct attribute_group *fsl_mc_bus_groups[] = { > > + &fsl_mc_bus_group, > > + NULL, > > +}; > > + > > struct bus_type fsl_mc_bus_type = { > > .name = "fsl-mc", > > .match = fsl_mc_bus_match, > > .uevent = fsl_mc_bus_uevent, > > .dev_groups = fsl_mc_dev_groups, > > + .bus_groups = fsl_mc_bus_groups, > > }; > > EXPORT_SYMBOL_GPL(fsl_mc_bus_type); > > No documentation update as well? Hi Greg, Are you saying something like adding Documentation/ABI/testing/sysfs-bus-fsl-mc? For the fsl-mc bus Documentation/ABI/testing/sysfs-devices-dprc? For the dprc device? Or drivers/staging/fsl-mc/[README.txt | TODO]? Thanks Lijun _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel