1. 29 12月, 2007 1 次提交
    • D
      [SERIAL]: Fix section mismatches in Sun serial console drivers. · fb445ee5
      David S. Miller 提交于
      We're exporting an __init function, oops :-)
      
      The core issue here is that add_preferred_console() is marked
      as __init, this makes it impossible to invoke this thing from
      a driver probe routine which is what the Sparc serial drivers
      need to do.
      
      There is no harm in dropping the __init marker.  This code will
      actually work properly when invoked from a modular driver,
      except that init will probably not pick up the console change
      without some other support code.
      
      Then we can drop the __init from sunserial_console_match()
      and we're no longer exporting an __init function to modules.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb445ee5
  2. 12 12月, 2007 1 次提交
    • M
      [SERIAL] sparc: Infrastructure to fix section mismatch bugs. · 58d784a5
      Martin Habets 提交于
      This patch against 2.6.23 sparc-2.6.git contains a number of minor
      cleanups of the sparc serial drivers.  Initially I fixed this build
      warning:
      
      WARNING: vmlinux.o(.text+0x107a2c): Section mismatch: reference to .init.text:add_preferred_console (between 'sunserial_console_match' and 'sunserial_console_termios')
      
      which is done by declaring sunserial_console_match() as __init.  This
      resulted in build warnings on sunserial_current_minor.  To resolve
      these the variable was changed so it is no longer global, and to hide
      operations on it inside 2 new functions. These functions handle the
      UART minor handling code that is common to all sparc serial drivers.
      
      These changes allowed to clean up the uart counters in all the sparc
      serial drivers, and the administration of minor device numbers.
      
      Lastly, sunserial_console_termios() does not need to be exported since
      it is only called from non-modular code.
      
      Sadly, the following build warning still exists:
      
      WARNING: vmlinux.o(__ksymtab+0x2910): Section mismatch: reference to .init.text:sunserial_console_match (between '__ksymtab_sunserial_console_match' and '__ksymtab_sunserial_unregister_minors')
      
      This could be resolved by not exporting sunserial_console_match(), but
      this is not possible at the moment because it is being called from
      modular code. On the other hand, this is a bogus warning since it
      comes from a ksymtab section.
      Signed-off-by: NMartin Habets <errandir_news@mph.eclipse.co.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      58d784a5
  3. 21 7月, 2007 1 次提交
    • D
      [SPARC]: Fix serial console device detection. · c73fcc84
      David S. Miller 提交于
      The current scheme works on static interpretation of text names, which
      is wrong.
      
      The output-device setting, for example, must be resolved via an alias
      or similar to a full path name to the console device.
      
      Paths also contain an optional set of 'options', which starts with a
      colon at the end of the path.  The option area is used to specify
      which of two serial ports ('a' or 'b') the path refers to when a
      device node drives multiple ports.  'a' is assumed if the option
      specification is missing.
      
      This was caught by the UltraSPARC-T1 simulator.  The 'output-device'
      property was set to 'ttya' and we didn't pick upon the fact that this
      is an OBP alias set to '/virtual-devices/console'.  Instead we saw it
      as the first serial console device, instead of the hypervisor console.
      
      The infrastructure is now there to take advantage of this to resolve
      the console correctly even in multi-head situations in fbcon too.
      
      Thanks to Greg Onufer for the bug report.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c73fcc84
  4. 29 5月, 2007 1 次提交
    • J
      [SPARC]: Linux always started with 9600 8N1 · b00ccd0f
      Jan Engelhardt 提交于
      The Linux kernel ignored the PROM's serial settings (115200,n,8,1 in
      my case). This was because mode_prop remained "ttyX-mode" (expected:
      "ttya-mode") due to the constness of string literals when used with
      "char *". Since there is no "ttyX-mode" property in the PROM, Linux
      always used the default 9600.
      
      [ Investigation of the suncore.s assembler reveals that gcc optimizied
        away the stores, yet did not emit a warning, which is a pretty
        anti-social thing to do and is the only reason this bug lived for
        so long -DaveM ]
      Signed-off-by: NJan Engelhardt <jengelh@gmx.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b00ccd0f
  5. 01 7月, 2006 1 次提交
  6. 19 1月, 2006 1 次提交
  7. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4