1. 08 Jan, 2009 23 commits
    • Mike Rapoport's avatar
    • Mike Rapoport's avatar
    • David Brownell's avatar
      regulator: sysfs attribute reduction (v2) · 7ad68e2f
      David Brownell authored
      Clean up the sysfs interface to regulators by only exposing the
      attributes that can be properly displayed.  For example: when a
      particular regulator method is needed to display the value, only
      create that attribute when that method exists.
      
      This cleaned-up interface is much more comprehensible.  Most
      regulators only support a subset of the possible methods, so
      often more than half the attributes would be meaningless.  Many
      "not defined" values are no longer necessary.  (But handling
      of out-of-range values still looks a bit iffy.)
      
      Documentation is updated to reflect that few of the attributes
      are *always* present, and to briefly explain why a regulator may
      not have a given attribute.
      
      This adds object code, about a dozen bytes more than was removed
      by the preceding patch, but saves a bunch of per-regulator data
      associated with the now-removed attributes.  So there's a net
      reduction in memory footprint.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      7ad68e2f
    • David Brownell's avatar
      regulator: code shrink (v2) · 4fca9545
      David Brownell authored
      Shrink regulator core by removing duplication in attribute printing
      and probe() cleanup paths.  Saves about 340 bytes (object) on ARM.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      4fca9545
    • David Brownell's avatar
      regulator: improved mode error checks · e573520b
      David Brownell authored
      Minor bugfixes in handling of regulator modes:
      
       - have the routine verifying regulator modes check against
         the set of legal modes (!);
      
       - have regulator_set_optimum_mode() verify the return value
         of regulator_ops.get_optimum_mode(), like drms_uA_update();
      
       - one call to regulator_ops.set_mode() treated zero as a
         failure code; make this consistent with other callers.
      
      Both regulator_set_mode() and regulator_set_optimum_mode() now
      require valid_ops_mask to include REGULATOR_CHANGE_MODE; that
      seems like a bugfix too.
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      e573520b
    • David Brownell's avatar
      regulator: enable/disable refcounting · 412aec61
      David Brownell authored
      Make the <linux/regulator.h> framework treat enable/disable call
      pairs like the <linux/clk.h> and <linux/interrupt.h> frameworks do:
      they're refcounted, so that different parts of a driver don't need
      to put work into coordination that frameworks normally handle.
      It's a minor object code shrink.
      
      It also makes the regulator_is_disabled() kerneldoc say what it's
      actually returning:  return value is not a refcount, and may report
      an error (e.g. I/O error from I2C).
      
      It also fixes some minor regulator_put() goofage:  removing unlocked
      access to the enable state.  (But still not making regulator put/get
      match the refcounting pattern they invoke.)
      Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      412aec61
    • Kay Sievers's avatar
      regulator: struct device - replace bus_id with dev_name(), dev_set_name() · 812460a9
      Kay Sievers authored
      This patch is part of a larger patch series which will remove
      the "char bus_id[20]" name string from struct device. The device
      name is managed in the kobject anyway, and without any size
      limitation, and just needlessly copied into "struct device".
      
      To set and read the device name dev_name(dev) and dev_set_name(dev)
      must be used. If your code uses static kobjects, which it shouldn't
      do, "const char *init_name" can be used to statically provide the
      name the registered device should have. At registration time, the
      init_name field is cleared, to enforce the use of dev_name(dev) to
      access the device name at a later time.
      
      We need to get rid of all occurrences of bus_id in the entire tree
      to be able to enable the new interface. Please apply this patch,
      and possibly convert any remaining remaining occurrences of bus_id.
      
      We want to submit a patch to -next, which will remove bus_id from
      "struct device", to find the remaining pieces to convert, and finally
      switch over to the new api, which will remove the 20 bytes array
      and does no longer have a size limitation.
      
      Thanks,
      Kay
      
      From: Kay Sievers <kay.sievers@vrfy.org>
      Subject: regulator: struct device - replace bus_id with dev_name(), dev_set_name()
      
      Cc: Liam Girdwood <lrg@slimlogic.co.uk>
      Acked-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-Off-By: default avatarKay Sievers <kay.sievers@vrfy.org>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      812460a9
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · 9e42d0cf
      Linus Torvalds authored
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
        sparc64: Work around branch tracer warning.
        sparc64: Fix unsigned long long warnings in drivers.
        sparc64: Use unsigned long long for u64.
        sparc: refactor code in fault_32.c
        sparc64: refactor code in init_64.c
        sparc64: refactor code in viohs.c
        sparc: make proces_ver_nack a bit more readable
      9e42d0cf
    • Linus Torvalds's avatar
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6 · 97c440ba
      Linus Torvalds authored
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6:
        V4L/DVB (10191a): Update MAINTAINERS entries on media drivers
        V4L/DVB (10190): cx88: Fix some Kbuild troubles
        V4L/DVB (10189): dm1105: Fix build with INPUT=m and DVB_DM1105=y
        V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc
        V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization
        V4L/DVB (10181): v4l2-device: Fix some sparse warnings
        V4L/DVB (10180): drivers/media: Fix a number of sparse warnings
        V4L/DVB (10179): tda8290: Fix two sparse warnings
        V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols
        V4L/DVB (10177): Fix sparse warnings on em28xx
        V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions
        V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage
      97c440ba
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux · 713404d6
      Linus Torvalds authored
      * 'for-2.6.29' of git://linux-nfs.org/~bfields/linux: (67 commits)
        nfsd: get rid of NFSD_VERSION
        nfsd: last_byte_offset
        nfsd: delete wrong file comment from nfsd/nfs4xdr.c
        nfsd: git rid of nfs4_cb_null_ops declaration
        nfsd: dprint each op status in nfsd4_proc_compound
        nfsd: add etoosmall to nfserrno
        NFSD: FIDs need to take precedence over UUIDs
        SUNRPC: The sunrpc server code should not be used by out-of-tree modules
        svc: Clean up deferred requests on transport destruction
        nfsd: fix double-locks of directory mutex
        svc: Move kfree of deferral record to common code
        CRED: Fix NFSD regression
        NLM: Clean up flow of control in make_socks() function
        NLM: Refactor make_socks() function
        nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT
        SUNRPC: Ensure the server closes sockets in a timely fashion
        NFSD: Add documenting comments for nfsctl interface
        NFSD: Replace open-coded integer with macro
        NFSD: Fix a handful of coding style issues in write_filehandle()
        NFSD: clean up failover sysctl function naming
        ...
      713404d6
    • David S. Miller's avatar
      sparc64: Work around branch tracer warning. · 18b8e08e
      David S. Miller authored
      As reported by Sam Ravnborg, Gcc-3.4.5 does not handle:
      
      	if (get_user() || get_user())
      
      with the new branch tracer enabled.
      
      Just seperate it out into seperate statements for now
      so people can get work done.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      18b8e08e
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10191a): Update MAINTAINERS entries on media drivers · 661263b5
      Mauro Carvalho Chehab authored
      This patch updates the MAINTAINERS entries for the media drivers.
      
      We are doing a few changes during 2009 to improve patch handling for
      drivers/media stuff.
      
      Currently, v4l-dvb-maintainer list at linuxtv.org were used to to be v4l/dvb
      driver maintainers ML, in order to keep track of patch merge requests and to
      receive bug fixes. This list allows posting for everybody, but, in order to
      avoid spam, the user subscribe/unsubscribe at the ML is moderated. Other
      development discussions and end-user forums happened on two separated ML (one
      for V4L and another for DVB).
      
      At the beginning of 2009, we've created linux-media@vger.kernel.org, meaning to
      be the main upstream development mailing list for drivers/media, including V4L
      and DVB core and drivers.
      
      The choice for vger.kernel.org were due to the fact that most of upstream lists
      are there. Also, its anti-spam filtering rules are better than what we
      currently have at linuxtv.org.
      
      For now, both video4linux-list and linux-dvb ML will remain active, but more
      focused on end users. It is expected that those lists will gradually be
      replaced also by linux-media@vger.kernel.org.
      
      This patch reflect those changes at linux MAINTAINERS file.
      
      Since the development and bug fix discussions will now happen at
      linux-media@vger.kernel.org, this patch does the following changes
      
      	- replaces v4l-dvb-maintainer ML for the new
      	  linux-media@vger.kernel.org;
      
      	- replaces video4linux ML for the new linux-media@vger.kernel.org;
      
      While here, it also:
      
      	- Fixes the existing -git tree entries for drivers/media (since the
                repository name changed);
      
      	- Adds the missing drivers/media -git tree entry on a few maintainers
                entries that don't point to a tree.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      661263b5
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10190): cx88: Fix some Kbuild troubles · e32fadc4
      Mauro Carvalho Chehab authored
      As Randy Dunlap <randy.dunlap@oracle.com> reported, cx88 has some compilation issues:
      
      drivers/built-in.o: In function `cx88_call_i2c_clients':
      (.text+0x20af17): undefined reference to `videobuf_dvb_get_frontend'
      drivers/built-in.o: In function `cx8802_probe':
      cx88-mpeg.c:(.devinit.text+0x268c4): undefined reference to `videobuf_dvb_alloc_frontend'
      cx88-mpeg.c:(.devinit.text+0x268ea): undefined reference to `videobuf_dvb_dealloc_frontends'
      
      With those configs:
      
      CONFIG_VIDEO_CX88=y
      CONFIG_VIDEO_CX88_BLACKBIRD=y
      CONFIG_VIDEO_CX88_DVB=m
      CONFIG_DVB_CORE=m
      
      After carefully examining the code, with the current code, several cx88 drivers
      (cx8800, cx8802, cx88_dvb and cx88_blackbird) should be compiled as a module,
      if one of them is marked as such. Just fixing Kconfig could create a very complex
      set of rules. Also, this hides a problem with the current approach where the dvb
      functionality weren't confined inside dvb module.
      
      What happens is that:
      	- cx88-i2c (part of cx8800) has some special rules if DVB;
      	- cx88-mpeg (cx8802 module) has also part of DVB init code;
      	- cx88-dvb has the rest of the dvb code;
      	- cx88-blackbird can be used with cx88-mpeg, having cx88-dvb or not.
      
      So, instead of doing some tricks at Kconfig and wait for a next breakage,
      this patch moves the dvb code inside cx88-i2c and cx88-mpeg into cx88-dvb.
      
      Another problem is that cx8802 were being compiled, even without cx88-dvb
      and cx88-blackbird modules.
      
      While on this code, let's fix also a reported problem:
      http://www.linuxtv.org/pipermail/linux-dvb/2009-January/031225.html
      
      A solution for the issue were proposed here:
      http://www.mail-archive.com/linux-media@vger.kernel.org/msg00021.html
      
      Thanks to Randy, Andy, Gregoire and Thomas for helping us to detect
      and solve the issues.
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      e32fadc4
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10189): dm1105: Fix build with INPUT=m and DVB_DM1105=y · 571d864c
      Mauro Carvalho Chehab authored
      As reported by Randy Dunlap <randy.dunlap@oracle.com>:
      
      With CONFIG_INPUT=m and CONFIG_DVB_DM1105=y:
      
      drivers/built-in.o: In function `input_sync':
      dm1105.c:(.text+0x120c33): undefined reference to `input_event'
      drivers/built-in.o: In function `dm1105_emit_key':
      dm1105.c:(.text+0x120c6c): undefined reference to `input_event'
      dm1105.c:(.text+0x120c82): undefined reference to `input_event'
      dm1105.c:(.text+0x120cb2): undefined reference to `input_event'
      dm1105.c:(.text+0x120cd1): undefined reference to `input_event'
      drivers/built-in.o: In function `dm1105_ir_init':
      (.devinit.text+0xd8ae): undefined reference to `input_allocate_device'
      drivers/built-in.o: In function `dm1105_ir_init':
      (.devinit.text+0xd9f6): undefined reference to `input_register_device'
      drivers/built-in.o: In function `dm1105_ir_init':
      (.devinit.text+0xda09): undefined reference to `input_free_device'
      drivers/built-in.o: In function `dm1105_ir_exit':
      (.devexit.text+0xcde): undefined reference to `input_unregister_device'
      
      This is due to the lack of a dependency between dm1105 and CONFIG_INPUT
      
      Cc: Igor M. Liplianin <liplianin@me.by>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      571d864c
    • Julia Lawall's avatar
      V4L/DVB (10185): Use negated usb_endpoint_xfer_control, etc · 2230c3c8
      Julia Lawall authored
      This patch extends 13417982 by using
      usb_endpoint_xfer_control, usb_endpoint_xfer_isoc, usb_endpoint_xfer_bulk,
      and usb_endpoint_xfer_int in the negated case as well.
      
      The semantic patch that makes this change is as follows:
      (http://www.emn.fr/x-info/coccinelle/)
      
      // <smpl>
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_CONTROL\|0\))
      + !usb_endpoint_xfer_control(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_ISOC\|1\))
      + !usb_endpoint_xfer_isoc(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_BULK\|2\))
      + !usb_endpoint_xfer_bulk(epd)
      
      @@ struct usb_endpoint_descriptor *epd; @@
      
      - (usb_endpoint_type(epd) != \(USB_ENDPOINT_XFER_INT\|3\))
      + !usb_endpoint_xfer_int(epd)
      // </smpl>
      Signed-off-by: default avatarJulia Lawall <julia@diku.dk>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      2230c3c8
    • Michael Krufky's avatar
      V4L/DVB (10182): tda8290: fix TDA8290 + TDA18271 initialization · 439b72b6
      Michael Krufky authored
      Don't call tda8290_init_tuner unless we have either a TDA8275 or TDA8275A
      present. Calling this function will cause a TDA18271 to get sick, so we
      should only call it when needed.
      Signed-off-by: default avatarMichael Krufky <mkrufky@linuxtv.org>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      439b72b6
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10181): v4l2-device: Fix some sparse warnings · 43266337
      Mauro Carvalho Chehab authored
      /home/v4l/master/v4l/v4l2-device.c:32:2: warning: Using plain integer as NULL pointer
      /home/v4l/master/v4l/v4l2-device.c:64:2: warning: Using plain integer as NULL pointer
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      43266337
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10180): drivers/media: Fix a number of sparse warnings · ffbc5f88
      Mauro Carvalho Chehab authored
      anysee.c:44:5: warning: symbol 'dvb_usb_anysee_delsys' was not declared. Should it be static?
      cx24116.c:378:3: warning: symbol 'CX24116_MODFEC_MODES' was not declared. Should it be static?
      stb0899_algo.c:57:5: warning: symbol 'stb0899_get_srate' was not declared. Should it be static?
      stb0899_algo.c:766:6: warning: symbol 'Log2Int' was not declared. Should it be static?
      stb0899_drv.c:137:20: warning: symbol 'stb0899_quant_tab' was not declared. Should it be static?
      stb0899_drv.c:180:20: warning: symbol 'stb0899_est_tab' was not declared. Should it be static?
      stb0899_drv.c:220:5: warning: symbol '_stb0899_read_reg' was not declared. Should it be static?
      budget-ci.c:1348:23: warning: symbol 'tt3200_stb6100_config' was not declared. Should it be static?
      /home/v4l/master/v4l/cx25840-core.c:190:6: warning: symbol 'cx25840_work_handler' was not declared. Should it be static?
      /home/v4l/master/v4l/m5602_s5k83a.c:116:6: warning: symbol 's5k83a_dump_registers' was not declared. Should it be static?
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      ffbc5f88
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10179): tda8290: Fix two sparse warnings · 4c27f1a4
      Mauro Carvalho Chehab authored
      /home/v4l/master/v4l/tda8290.c:233:7: warning: symbol 'i' shadows an earlier one
      /home/v4l/master/v4l/tda8290.c:178:3: warning: symbol 'fm_mode' was not declared. Should it be static?
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      4c27f1a4
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10178): dvb_frontend: Fix some sparse warnings due to static symbols · 072ce0c5
      Mauro Carvalho Chehab authored
      /home/v4l/master/v4l/dvb_frontend.c:838:19: warning: symbol 'dtv_cmds' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1035:6: warning: symbol 'dtv_property_dump' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1066:5: warning: symbol 'is_legacy_delivery_system' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1080:6: warning: symbol 'dtv_property_cache_sync' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1132:6: warning: symbol 'dtv_property_legacy_params_sync' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1187:6: warning: symbol 'dtv_property_adv_params_sync' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1222:6: warning: symbol 'dtv_property_cache_submit' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1253:5: warning: symbol 'dtv_property_process_get' was not declared. Should it be static?
      /home/v4l/master/v4l/dvb_frontend.c:1362:5: warning: symbol 'dtv_property_process_set' was not declared. Should it be static?
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      072ce0c5
    • Mauro Carvalho Chehab's avatar
      V4L/DVB (10177): Fix sparse warnings on em28xx · 26cdc76b
      Mauro Carvalho Chehab authored
      /home/v4l/master/v4l/em28xx-core.c:396:25: warning: symbol 'outputs' was not declared. Should it be static?
      /home/v4l/master/v4l/em28xx-input.c:324:6: warning: symbol 'em28xx_ir_start' was not declared. Should it be static?
      /home/v4l/master/v4l/em28xx-cards.c:1925:5: warning: symbol 'em28xx_init_dev' was not declared. Should it be static?
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      26cdc76b
    • Eric Miao's avatar
      V4L/DVB (10176b): pxa-camera: fix redefinition warnings and missing DMA definitions · cfbaf4df
      Eric Miao authored
      1. now pxa_camera.c uses ioremap() for register access, pxa_camera.h is
         totally useless. Remove it.
      
      2. <asm/dma.h> does no longer include <mach/dma.h>, include the latter
         file explicitly
      
       delete mode 100644 drivers/media/video/pxa_camera.h
      Signed-off-by: default avatarEric Miao <eric.miao@marvell.com>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      cfbaf4df
    • Guennadi Liakhovetski's avatar
      V4L/DVB (10176a): Switch remaining clear_user_page users over to clear_user_highpage · c0cd5010
      Guennadi Liakhovetski authored
      Not all architectures provide clear_user_page(), but clear_user_highpage()
      is available everywhere at least via the compatibility inline function.
      
      Is this the "trivial patch" that's required for these two drivers?
      Signed-off-by: default avatarGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
      c0cd5010
  2. 07 Jan, 2009 17 commits