Re: [PATCH] thinkpad_acpi: revert unintentional device attribute renaming

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 19, 2015, at 12:26, Bjørn Mork wrote:
> Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> writes:
> >> -static ssize_t hotkey_wakeup_reason_show(struct device *dev,
> >> +static ssize_t wakeup_reason_show(struct device *dev,
> >
> > Before, all "hotkey subdriver" functions had the hotkey_ prefix.  Now,
> > we have to intrude into whatever "namespace" an attribute name happens
> > to clash (in this case, the "wakeup" namespace).
> >
> > If this is the least horrible way to fix the issue, I will ack it even
> > if I don't like it.  However, if there's a way to do it that would keep
> > the "hotkey_" prefix in the C side, and only change the rest of the C
> > function name (if required), I'd rather the fix did that.
> 
> We could use the DEVICE_ATTR(_name, _mode, _show, _store) macro instead
> for the affected attributes if you prefer that.

Yes, please.  I'd rather have a bit more boilerplate than sacrifice the
"subdriver prefix" in the C functions handling the sysfs nodes.

> I didn't think the names of these static functions mattered that much,
> but I do see that yout have a point for a 10kloc source file like
> thinkpad_acpi.c.  You haven't ever considered splitting it? :-)

Heh, yeah, I did.  I was going to at least kick the hwmon and the
alsa-related stuff to separate drivers.  But there are all sorts of ties
between the separate functionalities due to a common firmware event
interface, so the result looked worse than the monolithic driver.  And
we often get more of those when new firmware/hardware functionality
arrives...

A split-and-refactor might be in thinkpad-acpi's future, yes.  But the
result would not be a bunch of independent modules due to the way the
firmware interface works, so there is little reason to not have it as a
monolitic module. This is not something you'd have in an embedded
kernel, after all...

Those 10k loc are mostly organized into highly modular blocks
("subdrivers"), thus my dislike for the change on the C function
prefixes for the sysfs attributes.  Those prefixes make it easier to
maintain the driver ;-)

When I last tried it several years ago, splitting the large C file into
several smaller C files did not make that large a difference in
maintainability, for a noticeable cost in lost compile-time
optimizations.  So, I never published it.

> > Also, the fix needs to go to stable (4.0+).
> 
> I don't think so.  The bug was introduced in v4.1-rc1 AFAICS.  Am I
> missing something?

Hmm, I screwed up when I was trying to locate which trees shipped the
broken commit.  You're right, this fix does _not_ need to go to stable. 
Sorry about that!

-- 
  "One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie." -- The Silicon Valley Tarot
  Henrique Holschuh

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
ibm-acpi-devel mailing list
ibm-acpi-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/ibm-acpi-devel





[Index of Archives]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Photo]     [Yosemite Photos]     [Yosemite Advice]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]

  Powered by Linux