1. 17 Jul, 2009 1 commit
    • Mike Frysinger's avatar
      connector: make callback argument type explicit · 0741241c
      Mike Frysinger authored
      
      The connector documentation states that the argument to the callback
      function is always a pointer to a struct cn_msg, but rather than encode it
      in the API itself, it uses a void pointer everywhere.  This doesn't make
      much sense to encode the pointer in documentation as it prevents proper C
      type checking from occurring and can easily allow people to use the wrong
      pointer type.  So convert the argument type to an explicit struct cn_msg
      pointer.
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0741241c
  2. 12 Jun, 2009 1 commit
    • Rusty Russell's avatar
      uvesafb: improve parameter handling. · 2ead9439
      Rusty Russell authored
      
      1) Now module_param(..., invbool, ...) requires a bool, and similarly
         module_param(..., bool, ...) allows it, change pmi_setpal to a bool.
      2) #define param_get_scroll to NULL, since it can never be called (perm
         argument to module_param_named is 0).
      3) Return -EINVAL from param_set_scroll if the value is bad, so it's
         reported.
      
      Note that I don't think the old fb_get_options() is required for new
      drivers: the parameters automatically work as uvesafb.XXX=... anyway.
      Acked-by: default avatarMichał Januszewski <spock@gentoo.org>
      Signed-off-by: default avatarRusty Russell <rusty@rustcorp.com.au>
      2ead9439
  3. 13 Apr, 2009 1 commit
  4. 01 Apr, 2009 3 commits
  5. 06 Feb, 2009 1 commit
    • Pablo Neira Ayuso's avatar
      netlink: change return-value logic of netlink_broadcast() · ff491a73
      Pablo Neira Ayuso authored
      
      Currently, netlink_broadcast() reports errors to the caller if no
      messages at all were delivered:
      
      1) If, at least, one message has been delivered correctly, returns 0.
      2) Otherwise, if no messages at all were delivered due to skb_clone()
         failure, return -ENOBUFS.
      3) Otherwise, if there are no listeners, return -ESRCH.
      
      With this patch, the caller knows if the delivery of any of the
      messages to the listeners have failed:
      
      1) If it fails to deliver any message (for whatever reason), return
         -ENOBUFS.
      2) Otherwise, if all messages were delivered OK, returns 0.
      3) Otherwise, if no listeners, return -ESRCH.
      
      In the current ctnetlink code and in Netfilter in general, we can add
      reliable logging and connection tracking event delivery by dropping the
      packets whose events were not successfully delivered over Netlink. Of
      course, this option would be settable via /proc as this approach reduces
      performance (in terms of filtered connections per seconds by a stateful
      firewall) but providing reliable logging and event delivery (for
      conntrackd) in return.
      
      This patch also changes some clients of netlink_broadcast() that
      may report ENOBUFS errors via printk. This error handling is not
      of any help. Instead, the userspace daemons that are listening to
      those netlink messages should resync themselves with the kernel-side
      if they hit ENOBUFS.
      
      BTW, netlink_broadcast() clients include those that call
      cn_netlink_send(), nlmsg_multicast() and genlmsg_multicast() since they
      internally call netlink_broadcast() and return its error value.
      Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ff491a73
  6. 16 Oct, 2008 1 commit
  7. 24 Jul, 2008 1 commit
  8. 28 Apr, 2008 2 commits
  9. 23 Feb, 2008 1 commit
    • Sergio Luis's avatar
      drivers/video/uvesafb.c: fix section mismatch warning in param_set_scroll() · 79306a34
      Sergio Luis authored
      
      Fix following warnings:
      WARNING: drivers/video/built-in.o(.text+0x7c64a): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c65d): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c679): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c699): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/video/built-in.o(.text+0x7c69f): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa3676): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa3689): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa36a5): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa36c5): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: drivers/built-in.o(.text+0xa36cb): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a079a): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07ad): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07c9): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07e9): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      WARNING: vmlinux.o(.text+0x4a07ef): Section mismatch in reference from the function param_set_scroll() to the variable .devinit.data:ypan
      
      Remove __devinitdata annotation from the variable ypan.
      Signed-off-by: default avatarSergio Luis <sergio@larces.uece.br>
      Cc: Michal Januszewski <spock@gentoo.org>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      79306a34
  10. 06 Feb, 2008 1 commit
  11. 14 Jan, 2008 1 commit
    • Randy Dunlap's avatar
      uvesafb: fix section mismatch warnings · 27b526a0
      Randy Dunlap authored
      
      Mark uvesafb_init_mtrr() as __devinit since its caller is __devinit
      and since it accesses __devinitdata.
      
      WARNING: vmlinux.o(.text+0x4df80e): Section mismatch: reference to .init.data: (between 'uvesafb_init_mtrr' and 'uvesafb_show_vbe_ver')
      
      Variable 'blank' cannot be __devinitdata since it is referenced in an
      fb_ops method that could be called at any time.
      
      WARNING: vmlinux.o(.text+0x4dfc1e): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette')
      WARNING: vmlinux.o(.text+0x4dfc24): Section mismatch: reference to .init.data:blank (between 'param_set_scroll' and 'vesa_setpalette')
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: "Antonino A. Daplas" <adaplas@pol.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      27b526a0
  12. 14 Nov, 2007 1 commit
  13. 16 Oct, 2007 1 commit
    • Michal Januszewski's avatar
      uvesafb: the driver core · 8bdb3a2d
      Michal Januszewski authored
      
      uvesafb is an enhanced version of vesafb.  It uses a userspace helper (v86d)
      to execute calls to the x86 Video BIOS functions.  The driver is not limited
      to any specific arch and whether it works on a given arch or not depends on
      that arch being supported by the userspace daemon.  It has been tested on
      x86_32 and x86_64.
      
      A single BIOS call is represented by an instance of the uvesafb_ktask
      structure.  This structure contains a buffer, a completion struct and a
      uvesafb_task substructure, containing the values of the x86 registers, a flags
      field and a field indicating the length of the buffer.  Whenever a BIOS call
      is made in the driver, uvesafb_exec() builds a message using the uvesafb_task
      substructure and the contents of the buffer.  This message is then assigned a
      random ack number and sent to the userspace daemon using the connector
      interface.
      
      The message's sequence number is used as an index for the uvfb_tasks array,
      which provides a mapping from the messages coming from userspace to the
      in-kernel uvesafb_ktask structs.
      
      The userspace daemon performs the requested operation and sends a reply in the
      form of a uvesafb_task struct and, optionally, a buffer.  The seq and ack
      numbers in the reply should be exactly the same as those in the request.
      
      Each message from userspace is processed by uvesafb_cn_callback() and after
      passing a few sanity checks leads to the completion of a BIOS call request.
      Signed-off-by: default avatarMichal Januszewski <spock@gentoo.org>
      Signed-off-by: default avatarAntonino Daplas <adaplas@gmail.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: Paulo Marques <pmarques@grupopie.com>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8bdb3a2d