1. 10 8月, 2010 1 次提交
    • Y
      ipmi: fix ACPI detection with regspacing · d9e1b6c4
      Yinghai Lu 提交于
      After the commit that changed ipmi_si detecting sequence from SMBIOS/ACPI
      to ACPI/SMBIOS,
      
      | commit 754d4531
      | Author: Matthew Garrett <mjg@redhat.com>
      | Date:   Wed May 26 14:43:47 2010 -0700
      |
      |    ipmi: change device discovery order
      |
      |    The ipmi spec provides an ordering for si discovery.  Change the driver to
      |    match, with the exception of preferring smbios to SPMI as HPs (at least)
      |    contain accurate information in the former but not the latter.
      
      ipmi_si can not be initialized.
      
      [  138.799739] calling  init_ipmi_devintf+0x0/0x109 @ 1
      [  138.805050] ipmi device interface
      [  138.818131] initcall init_ipmi_devintf+0x0/0x109 returned 0 after 12797 usecs
      [  138.822998] calling  init_ipmi_si+0x0/0xa90 @ 1
      [  138.840276] IPMI System Interface driver.
      [  138.846137] ipmi_si: probing via ACPI
      [  138.849225] ipmi_si 00:09: [io  0x0ca2] regsize 1 spacing 1 irq 0
      [  138.864438] ipmi_si: Adding ACPI-specified kcs state machine
      [  138.870893] ipmi_si: probing via SMBIOS
      [  138.880945] ipmi_si: Adding SMBIOS-specified kcs state machineipmi_si: duplicate interface
      [  138.896511] ipmi_si: probing via SPMI
      [  138.899861] ipmi_si: Adding SPMI-specified kcs state machineipmi_si: duplicate interface
      [  138.917095] ipmi_si: Trying ACPI-specified kcs state machine at i/o address 0xca2, slave address 0x0, irq 0
      [  138.928658] ipmi_si: Interface detection failed
      [  138.953411] initcall init_ipmi_si+0x0/0xa90 returned 0 after 110847 usecs
      
      in smbios has
      DMI/SMBIOS
      Handle 0x00C5, DMI type 38, 18 bytes
      IPMI Device Information
              Interface Type: KCS (Keyboard Control Style)
              Specification Version: 2.0
              I2C Slave Address: 0x00
              NV Storage Device: Not Present
              Base Address: 0x0000000000000CA2 (I/O)
              Register Spacing: 32-bit Boundaries
      in DSDT has
                          Device (BMC)
                          {
      
                              Name (_HID, EisaId ("IPI0001"))
                              Method (_STA, 0, NotSerialized)
                              {
                                  If (LEqual (OSN, Zero))
                                  {
                                      Return (Zero)
                                  }
      
                                  Return (0x0F)
                              }
      
                              Name (_STR, Unicode ("IPMI_KCS"))
                              Name (_UID, Zero)
                              Name (_CRS, ResourceTemplate ()
                              {
                                  IO (Decode16,
                                      0x0CA2,             // Range Minimum
                                      0x0CA2,             // Range Maximum
                                      0x00,               // Alignment
                                      0x01,               // Length
                                      )
                                  IO (Decode16,
                                      0x0CA6,             // Range Minimum
                                      0x0CA6,             // Range Maximum
                                      0x00,               // Alignment
                                      0x01,               // Length
                                      )
                              })
                              Method (_IFT, 0, NotSerialized)
                              {
                                  Return (One)
                              }
      
                              Method (_SRV, 0, NotSerialized)
                              {
                                  Return (0x0200)
                              }
                          }
      
      so the reg spacing should be 4 instead of 1.
      
      Try to calculate regspacing for this kind of system.
      
      Observed on a Sun Fire X4800.  Other OSes work and pass certification.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Cc: Bjorn Helgaas <bjorn.helgaas@hp.com>
      Acked-by: NMatthew Garrett <mjg@redhat.com>
      Cc: Len Brown <len.brown@intel.com>
      Cc: Myron Stowe <myron.stowe@hp.com>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d9e1b6c4
  2. 30 6月, 2010 2 次提交
  3. 28 5月, 2010 11 次提交
  4. 22 5月, 2010 1 次提交
    • G
      of: Remove duplicate fields from of_platform_driver · 4018294b
      Grant Likely 提交于
      .name, .match_table and .owner are duplicated in both of_platform_driver
      and device_driver.  This patch is a removes the extra copies from struct
      of_platform_driver and converts all users to the device_driver members.
      
      This patch is a pretty mechanical change.  The usage model doesn't change
      and if any drivers have been missed, or if anything has been fixed up
      incorrectly, then it will fail with a compile time error, and the fixup
      will be trivial.  This patch looks big and scary because it touches so
      many files, but it should be pretty safe.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NSean MacLennan <smaclennan@pikatech.com>
      4018294b
  5. 19 5月, 2010 1 次提交
  6. 17 5月, 2010 1 次提交
  7. 19 3月, 2010 1 次提交
  8. 13 3月, 2010 2 次提交
  9. 30 12月, 2009 1 次提交
    • I
      ACPI: fix ACPI=n allmodconfig build · 27d0567a
      Ingo Molnar 提交于
      Today's -tip failed to build because commit
      9e368fa0 ("ipmi: add PNP discovery (ACPI
      namespace via PNPACPI)") from today's upstream kernel causes the following
      build failure on x86, for CONFIG_ACPI=n && CONFIG_IPMI_SI=y:
      
       drivers/char/ipmi/ipmi_si_intf.c:3208: error: 'ipmi_pnp_driver' undeclared (first use in this function)
       drivers/char/ipmi/ipmi_si_intf.c:3208: error: (Each undeclared identifier is reported only once
       drivers/char/ipmi/ipmi_si_intf.c:3208: error: for each function it appears in.)
       drivers/char/ipmi/ipmi_si_intf.c:3334: error: 'ipmi_pnp_driver' undeclared (first use in this function)
      
      The reason is that the ipmi_pnp_driver depends on ACPI facilities and is only
      made available under ACPI - while the registration and unregistration is made
      dependent on CONFIG_PNP:
      
       #ifdef CONFIG_PNP
       	pnp_register_driver(&ipmi_pnp_driver);
       #endif
      
      The solution is to only register this driver under ACPI. (Also, the CONFIG_PNP
      dependency is not needed because pnp_register_driver() is stubbed out in the
      !CONFIG_PNP case.)
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NMyron Stowe <myron.stowe@hp.com>
      Signed-off-by: NLen Brown <len.brown@intel.com>
      27d0567a
  10. 16 12月, 2009 4 次提交
  11. 19 11月, 2009 1 次提交
  12. 12 11月, 2009 1 次提交
    • E
      sysctl drivers: Remove dead binary sysctl support · 894d2491
      Eric W. Biederman 提交于
      Now that sys_sysctl is a wrapper around /proc/sys all of
      the binary sysctl support elsewhere in the tree is
      dead code.
      
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Corey Minyard <minyard@acm.org>
      Cc: Greg Kroah-Hartman <gregkh@suse.de>
      Cc: Matt Mackall <mpm@selenic.com>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Neil Brown <neilb@suse.de>
      Cc: "James E.J. Bottomley" <James.Bottomley@suse.de>
      Acked-by: Clemens Ladisch <clemens@ladisch.de> for drivers/char/hpet.c
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      894d2491
  13. 05 10月, 2009 1 次提交
  14. 21 9月, 2009 1 次提交
  15. 16 6月, 2009 1 次提交
  16. 22 5月, 2009 1 次提交
    • C
      ipmi: fix ipmi_si modprobe hang · 9a2845c4
      Corey Minyard 提交于
      Instead of queuing IPMB messages before channel initialization, just
      throw them away.  Nobody will be listening for them at this point,
      anyway, and they will clog up the queue and nothing will be delivered
      if we queue them.
      
      Also set the current channel to the number of channels, as this value
      is used to tell if the channel information has been initialized.
      Signed-off-by: NCorey Minyard <cminyard@mvista.com>
      Cc: Ferenc Wagner <wferi@niif.hu>
      Cc: Dan Frazier <dannf@hp.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9a2845c4
  17. 22 4月, 2009 4 次提交
  18. 31 3月, 2009 1 次提交
    • A
      proc 2/2: remove struct proc_dir_entry::owner · 99b76233
      Alexey Dobriyan 提交于
      Setting ->owner as done currently (pde->owner = THIS_MODULE) is racy
      as correctly noted at bug #12454. Someone can lookup entry with NULL
      ->owner, thus not pinning enything, and release it later resulting
      in module refcount underflow.
      
      We can keep ->owner and supply it at registration time like ->proc_fops
      and ->data.
      
      But this leaves ->owner as easy-manipulative field (just one C assignment)
      and somebody will forget to unpin previous/pin current module when
      switching ->owner. ->proc_fops is declared as "const" which should give
      some thoughts.
      
      ->read_proc/->write_proc were just fixed to not require ->owner for
      protection.
      
      rmmod'ed directories will be empty and return "." and ".." -- no harm.
      And directories with tricky enough readdir and lookup shouldn't be modular.
      We definitely don't want such modular code.
      
      Removing ->owner will also make PDE smaller.
      
      So, let's nuke it.
      
      Kudos to Jeff Layton for reminding about this, let's say, oversight.
      
      http://bugzilla.kernel.org/show_bug.cgi?id=12454Signed-off-by: NAlexey Dobriyan <adobriyan@gmail.com>
      99b76233
  19. 13 11月, 2008 1 次提交
  20. 02 11月, 2008 1 次提交
    • A
      saner FASYNC handling on file close · 233e70f4
      Al Viro 提交于
      As it is, all instances of ->release() for files that have ->fasync()
      need to remember to evict file from fasync lists; forgetting that
      creates a hole and we actually have a bunch that *does* forget.
      
      So let's keep our lives simple - let __fput() check FASYNC in
      file->f_flags and call ->fasync() there if it's been set.  And lose that
      crap in ->release() instances - leaving it there is still valid, but we
      don't have to bother anymore.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      233e70f4
  21. 31 10月, 2008 1 次提交
  22. 17 10月, 2008 1 次提交
反馈
建议
客服 返回
顶部