[PATCH 2.6.12-rc4 2/3] (dynamic sysfs callbacks) device_attribute

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

 



Hi,

This second patch removes the "initialization from incompatible
pointer type" warnings resulting from the code using the old callback
function signatures. It is mainly auto-generated (see inlined
shell/perl scripts below), and is 308K so I'm linking to it:

http://osdn.dl.sourceforge.net/sourceforge/bmcsensors-26/patch-linux-2.6.12-rc4-sysfsdyncallback-deviceattr-nowarn.diff

Note that the diffstat # of changes (approx # of sysfs callbacks)
gives you some idea of which drivers will most benefit from this
patch.

Signed-off-by: Yani Ioannou <yani.ioannou at gmail.com>

Thanks,
Yani

---
 Documentation/filesystems/sysfs.txt      |    2
 arch/arm/common/amba.c                   |    2
 arch/arm/kernel/ecard.c                  |   12 +-
 arch/arm26/kernel/ecard.c                |   10 +-
 arch/ia64/sn/kernel/tiocx.c              |    4
 arch/parisc/kernel/drivers.c             |    2
 arch/ppc/kernel/pci.c                    |    2
 arch/ppc/syslib/ocp.c                    |    2
 arch/ppc/syslib/of_device.c              |    2
 arch/ppc64/kernel/of_device.c            |    2
 arch/ppc64/kernel/pci.c                  |    2
 arch/ppc64/kernel/vio.c                  |    4
 drivers/base/dmapool.c                   |    2
 drivers/base/interface.c                 |    4
 drivers/base/power/sysfs.c               |    4
 drivers/block/ub.c                       |    2
 drivers/char/hvcs.c                      |   14 +--
 drivers/char/mbcs.c                      |    4
 drivers/char/mwave/mwavedd.c             |    2
 drivers/char/tpm/tpm.c                   |    6 -
 drivers/dio/dio-sysfs.c                  |   10 +-
 drivers/eisa/eisa-bus.c                  |    4
 drivers/i2c/chips/adm1021.c              |    6 -
 drivers/i2c/chips/adm1025.c              |   28 +++---
 drivers/i2c/chips/adm1026.c              |   98 ++++++++++++------------
 drivers/i2c/chips/adm1031.c              |   44 +++++-----
 drivers/i2c/chips/asb100.c               |   46 +++++------
 drivers/i2c/chips/ds1621.c               |    6 -
 drivers/i2c/chips/fscher.c               |    8 -
 drivers/i2c/chips/fscpos.c               |   16 +--
 drivers/i2c/chips/gl518sm.c              |   12 +-
 drivers/i2c/chips/gl520sm.c              |    8 -
 drivers/i2c/chips/it87.c                 |   50 ++++++------
 drivers/i2c/chips/lm63.c                 |   24 ++---
 drivers/i2c/chips/lm75.c                 |    4
 drivers/i2c/chips/lm77.c                 |   14 +--
 drivers/i2c/chips/lm78.c                 |   36 ++++----
 drivers/i2c/chips/lm80.c                 |   20 ++--
 drivers/i2c/chips/lm83.c                 |    6 -
 drivers/i2c/chips/lm85.c                 |   72 ++++++++---------
 drivers/i2c/chips/lm87.c                 |   46 +++++------
 drivers/i2c/chips/lm90.c                 |   12 +-
 drivers/i2c/chips/lm92.c                 |   14 +--
 drivers/i2c/chips/max1619.c              |    6 -
 drivers/i2c/chips/pc87360.c              |   68 ++++++++--------
 drivers/i2c/chips/pcf8574.c              |    6 -
 drivers/i2c/chips/pcf8591.c              |   10 +-
 drivers/i2c/chips/sis5595.c              |   34 ++++----
 drivers/i2c/chips/smsc47b397.c           |    4
 drivers/i2c/chips/smsc47m1.c             |   20 ++--
 drivers/i2c/chips/via686a.c              |   32 +++----
 drivers/i2c/chips/w83627hf.c             |   56 ++++++-------
 drivers/i2c/chips/w83781d.c              |   52 ++++++------
 drivers/i2c/chips/w83l785ts.c            |    4
 drivers/i2c/i2c-core.c                   |    4
 drivers/ieee1394/nodemgr.c               |   16 +--
 drivers/ieee1394/sbp2.c                  |    2
 drivers/input/gameport/gameport.c        |    4
 drivers/input/keyboard/atkbd.c           |    4
 drivers/input/mouse/psmouse.h            |    4
 drivers/input/serio/serio.c              |   16 +--
 drivers/macintosh/therm_adt746x.c        |    8 -
 drivers/macintosh/therm_pm72.c           |    4
 drivers/macintosh/therm_windtunnel.c     |    4
 drivers/mca/mca-bus.c                    |    4
 drivers/message/fusion/mptscsih.c        |    2
 drivers/mmc/mmc_sysfs.c                  |    2
 drivers/pci/hotplug/cpqphp_sysfs.c       |    4
 drivers/pci/hotplug/shpchp_sysfs.c       |    4
 drivers/pci/pci-sysfs.c                  |    6 -
 drivers/pcmcia/ds.c                      |    4
 drivers/pnp/card.c                       |    4
 drivers/pnp/interface.c                  |    8 -
 drivers/s390/block/dasd_devmap.c         |   10 +-
 drivers/s390/block/dcssblk.c             |   24 ++---
 drivers/s390/char/raw3270.c              |    6 -
 drivers/s390/char/tape_core.c            |   10 +-
 drivers/s390/char/vmlogrdr.c             |   12 +-
 drivers/s390/cio/ccwgroup.c              |    6 -
 drivers/s390/cio/chsc.c                  |    6 -
 drivers/s390/cio/cmf.c                   |   12 +-
 drivers/s390/cio/device.c                |   14 +--
 drivers/s390/net/claw.c                  |   40 ++++-----
 drivers/s390/net/ctcmain.c               |   18 ++--
 drivers/s390/net/lcs.c                   |   10 +-
 drivers/s390/net/netiucv.c               |   44 +++++-----
 drivers/s390/net/qeth_sys.c              |  126 +++++++++++++++----------------
 drivers/s390/scsi/zfcp_scsi.c            |    2
 drivers/s390/scsi/zfcp_sysfs_adapter.c   |   10 +-
 drivers/s390/scsi/zfcp_sysfs_port.c      |   10 +-
 drivers/s390/scsi/zfcp_sysfs_unit.c      |    6 -
 drivers/scsi/53c700.c                    |    2
 drivers/scsi/arm/eesox.c                 |    4
 drivers/scsi/arm/powertec.c              |    4
 drivers/scsi/ipr.c                       |    2
 drivers/scsi/megaraid/megaraid_mbox.c    |    4
 drivers/scsi/scsi_sysfs.c                |   28 +++---
 drivers/sh/superhyway/superhyway-sysfs.c |    2
 drivers/usb/core/sysfs.c                 |   24 ++---
 drivers/usb/gadget/dummy_hcd.c           |    4
 drivers/usb/gadget/file_storage.c        |    8 -
 drivers/usb/gadget/net2280.c             |    6 -
 drivers/usb/gadget/pxa2xx_udc.c          |    2
 drivers/usb/input/aiptek.c               |   78 +++++++++----------
 drivers/usb/misc/cytherm.c               |   20 ++--
 drivers/usb/misc/phidgetkit.c            |   14 +--
 drivers/usb/misc/phidgetservo.c          |    4
 drivers/usb/misc/usbled.c                |    4
 drivers/usb/serial/ftdi_sio.c            |    6 -
 drivers/usb/storage/scsiglue.c           |    4
 drivers/video/gbefb.c                    |    4
 drivers/video/w100fb.c                   |   12 +-
 drivers/w1/w1.c                          |   16 +--
 drivers/w1/w1_family.h                   |    4
 drivers/w1/w1_smem.c                     |    8 -
 drivers/w1/w1_therm.c                    |    8 -
 drivers/zorro/zorro-sysfs.c              |    4
 include/asm-ppc/ocp.h                    |    2
 118 files changed, 854 insertions(+), 854 deletions(-)

--- updatedyncallbackdevattr.pl

#!/usr/bin/perl

use strict;

my $infile=shift;

if(!defined $infile){
        open(IN,"<&STDIN") or die "Could not open an input stream";
}else{
        open(IN,"<$infile") or die "Could not open an input stream";
}

my $subs = 0;
my $code = "";

while(<IN>){$code.=$_};
close(IN);

$code =~ s/(static[\s\\]+?ssize_t[\s\\]+?[^(;]+?\(\s*?struct[\s\\]+?(?:device)[\s\\]*?\*[^,);]*?,[\s\\]*?char[\s\\]*?\*[^,);]*?)[\s\\]*?\)/$1,
void *private)/gs && $subs++;
$code =~ s/(static[\s\\]+?ssize_t[\s\\]+?[^(;]+?\(\s*?struct[\s\\]+?(?:device)[\s\\]*?\*[^,);]*?,[\s\\]*?const[\s\\]+?char[\s\\]*?\*[^,);]*?[\s\\]*?,[\s\\]*size_t[^,);]*?)[\s\\]*\)/$1,
void *private)/gs && $subs++;

if($subs){
        if(!defined $infile){
                open(OUT,">&STDOUT") or die "Could not open an output stream";
        }else{
                open(OUT,">$infile") or die "Could not open an output stream";
        }
        $|;
        print OUT $code;
        close(OUT);
        $infile && print STDOUT "$infile updated.\n";
}

---  doupdatedevattr.sh
#!/bin/sh
find linux-2.6.12-rc4-sysfsdyncallback-deviceattr-nowarn -type f -exec
./updatedyncallbackdevattr.pl {} \; 2>&1 |tee subs.log



[Index of Archives]     [Linux Kernel]     [Linux Hardware Monitoring]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]

  Powered by Linux