Merge branch 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Apr 2012 16:50:40 +0000 (09:50 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 2 Apr 2012 16:50:40 +0000 (09:50 -0700)
Pull HSI (High Speed Synchronous Serial Interface) framework from Carlos Chinea:
 "The High Speed Synchronous Serial Interface (HSI) is a serial
  interface mainly used for connecting application engines (APE) with
  cellular modem engines (CMT) in cellular handsets.

  The framework is currently being used for some people and we would
  like to see it integrated into the kernel for 3.3.  There is no HW
  controller drivers in this pull, but some people have already some of
  them pending which they would like to push as soon as this integrated.
  I am also working on the acceptance for an TI OMAP one, based on a
  compatible legacy version of the interface called SSI."

Ok, so it didn't get into 3.3, but here it is pulled into 3.4.

Several people piped up to say "yeah, we want this".

* 'for-next' of git://gitorious.org/kernel-hsi/kernel-hsi:
  HSI: hsi_char: Update ioctl-number.txt
  HSI: Add HSI API documentation
  HSI: hsi_char: Add HSI char device kernel configuration
  HSI: hsi_char: Add HSI char device driver
  HSI: hsi: Introducing HSI framework

1  2 
Documentation/DocBook/device-drivers.tmpl
Documentation/ioctl/ioctl-number.txt
drivers/Kconfig
drivers/Makefile
include/linux/Kbuild

index 9c27e5125dd26efb5ca49c4b2bc9beadb4d559d7,5f70f734e8b424d7be0af5b71f909906e19caa18..7514dbf0a6796c4e216a175fa79db0ed3ff470d9
@@@ -50,9 -50,7 +50,9 @@@
  
       <sect1><title>Delaying, scheduling, and timer routines</title>
  !Iinclude/linux/sched.h
 -!Ekernel/sched.c
 +!Ekernel/sched/core.c
 +!Ikernel/sched/cpupri.c
 +!Ikernel/sched/fair.c
  !Iinclude/linux/completion.h
  !Ekernel/timer.c
       </sect1>
@@@ -102,12 -100,9 +102,12 @@@ X!Iinclude/linux/kobject.
  !Iinclude/linux/device.h
       </sect1>
       <sect1><title>Device Drivers Base</title>
 +!Idrivers/base/init.c
  !Edrivers/base/driver.c
  !Edrivers/base/core.c
 +!Edrivers/base/syscore.c
  !Edrivers/base/class.c
 +!Idrivers/base/node.c
  !Edrivers/base/firmware_class.c
  !Edrivers/base/transport_class.c
  <!-- Cannot be included, because
       exceed allowed 44 characters maximum
  X!Edrivers/base/attribute_container.c
  -->
 -!Edrivers/base/sys.c
 +!Edrivers/base/dd.c
  <!--
  X!Edrivers/base/interface.c
  -->
  !Iinclude/linux/platform_device.h
  !Edrivers/base/platform.c
  !Edrivers/base/bus.c
 +     </sect1>
 +     <sect1><title>Device Drivers DMA Management</title>
 +!Edrivers/base/dma-buf.c
 +!Edrivers/base/dma-coherent.c
 +!Edrivers/base/dma-mapping.c
       </sect1>
       <sect1><title>Device Drivers Power Management</title>
  !Edrivers/base/power/main.c
@@@ -226,8 -216,9 +226,8 @@@ X!Isound/sound_firmware.
  
    <chapter id="uart16x50">
       <title>16x50 UART Driver</title>
 -!Iinclude/linux/serial_core.h
  !Edrivers/tty/serial/serial_core.c
 -!Edrivers/tty/serial/8250.c
 +!Edrivers/tty/serial/8250/8250.c
    </chapter>
  
    <chapter id="fbdev">
@@@ -446,4 -437,21 +446,21 @@@ X!Idrivers/video/console/fonts.
  !Edrivers/i2c/i2c-core.c
    </chapter>
  
+   <chapter id="hsi">
+      <title>High Speed Synchronous Serial Interface (HSI)</title>
+      <para>
+       High Speed Synchronous Serial Interface (HSI) is a
+       serial interface mainly used for connecting application
+       engines (APE) with cellular modem engines (CMT) in cellular
+       handsets.
+       HSI provides multiplexing for up to 16 logical channels,
+       low-latency and full duplex communication.
+      </para>
+ !Iinclude/linux/hsi/hsi.h
+ !Edrivers/hsi/hsi.c
+   </chapter>
  </book>
index 3b7488fc33730c3098a62cea18f6d0b0de3ef584,af76fdef6046302ec5ccaf25566e1269b240503a..e34b531dc3161a18cc55fc591bd1db0e7c6991dd
@@@ -149,7 -149,6 +149,7 @@@ Code  Seq#(hex)    Include File            Comment
  'M'   01-03   drivers/scsi/megaraid/megaraid_sas.h
  'M'   00-0F   drivers/video/fsl-diu-fb.h      conflict!
  'N'   00-1F   drivers/usb/scanner.h
 +'N'   40-7F   drivers/block/nvme.c
  'O'     00-06   mtd/ubi-user.h                UBI
  'P'   all     linux/soundcard.h       conflict!
  'P'   60-6F   sound/sscape_ioctl.h    conflict!
  'Y'   all     linux/cyclades.h
  'Z'   14-15   drivers/message/fusion/mptctl.h
  '['   00-07   linux/usb/tmc.h         USB Test and Measurement Devices
 -                                      <mailto:gregkh@suse.de>
 +                                      <mailto:gregkh@linuxfoundation.org>
  'a'   all     linux/atm*.h, linux/sonet.h     ATM on linux
                                        <http://lrcwww.epfl.ch/>
  'b'   00-FF                           conflict! bit3 vme host bridge
  'h'   00-7F                           conflict! Charon filesystem
                                        <mailto:zapman@interlan.net>
  'h'   00-1F   linux/hpet.h            conflict!
 +'h'   80-8F   fs/hfsplus/ioctl.c
  'i'   00-3F   linux/i2o-dev.h         conflict!
  'i'   0B-1F   linux/ipmi.h            conflict!
  'i'   80-8F   linux/i8k.h
  'j'   00-3F   linux/joystick.h
  'k'   00-0F   linux/spi/spidev.h      conflict!
  'k'   00-05   video/kyro.h            conflict!
+ 'k'   10-17   linux/hsi/hsi_char.h    HSI character device
  'l'   00-3F   linux/tcfs_fs.h         transparent cryptographic file system
                                        <http://web.archive.org/web/*/http://mikonos.dia.unisa.it/tcfs>
  'l'   40-7F   linux/udf_fs_i.h        in development:
                linux/ixjuser.h         <http://web.archive.org/web/*/http://www.quicknet.net>
  'r'   00-1F   linux/msdos_fs.h and fs/fat/dir.c
  's'   all     linux/cdk.h
 -'t'   00-7F   linux/if_ppp.h
 +'t'   00-7F   linux/ppp-ioctl.h
  't'   80-8F   linux/isdn_ppp.h
  't'   90      linux/toshiba.h
  'u'   00-1F   linux/smb_fs.h          gone
diff --combined drivers/Kconfig
index 6f0459cb745b8ccf6f338fe4750258537dcefef6,52895081db0baaca5a372c8fe0d850d866d83089..d236aef7e59fff7b7bc255cea2a86ce0a40425c1
@@@ -40,6 -40,8 +40,6 @@@ source "drivers/net/Kconfig
  
  source "drivers/isdn/Kconfig"
  
 -source "drivers/telephony/Kconfig"
 -
  # input before char - char/joystick depends on it. As does USB.
  
  source "drivers/input/Kconfig"
@@@ -50,6 -52,8 +50,8 @@@ source "drivers/i2c/Kconfig
  
  source "drivers/spi/Kconfig"
  
+ source "drivers/hsi/Kconfig"
  source "drivers/pps/Kconfig"
  
  source "drivers/ptp/Kconfig"
@@@ -114,8 -118,6 +116,8 @@@ source "drivers/vlynq/Kconfig
  
  source "drivers/virtio/Kconfig"
  
 +source "drivers/hv/Kconfig"
 +
  source "drivers/xen/Kconfig"
  
  source "drivers/staging/Kconfig"
@@@ -130,11 -132,9 +132,11 @@@ source "drivers/clocksource/Kconfig
  
  source "drivers/iommu/Kconfig"
  
 -source "drivers/virt/Kconfig"
 +source "drivers/remoteproc/Kconfig"
  
 -source "drivers/hv/Kconfig"
 +source "drivers/rpmsg/Kconfig"
 +
 +source "drivers/virt/Kconfig"
  
  source "drivers/devfreq/Kconfig"
  
diff --combined drivers/Makefile
index 262b19d6b627a7541266f0f569f97197be06e906,91077ac6b1564a21449a155cde1b84d6678d6e13..95952c82bf16653e40aa46ef1eeaa2f4fe96f8fa
@@@ -53,6 -53,7 +53,7 @@@ obj-$(CONFIG_ATA)             += ata
  obj-$(CONFIG_TARGET_CORE)     += target/
  obj-$(CONFIG_MTD)             += mtd/
  obj-$(CONFIG_SPI)             += spi/
+ obj-y                         += hsi/
  obj-y                         += net/
  obj-$(CONFIG_ATM)             += atm/
  obj-$(CONFIG_FUSION)          += message/
@@@ -86,6 -87,7 +87,6 @@@ obj-$(CONFIG_POWER_SUPPLY)    += power
  obj-$(CONFIG_HWMON)           += hwmon/
  obj-$(CONFIG_THERMAL)         += thermal/
  obj-$(CONFIG_WATCHDOG)                += watchdog/
 -obj-$(CONFIG_PHONE)           += telephony/
  obj-$(CONFIG_MD)              += md/
  obj-$(CONFIG_BT)              += bluetooth/
  obj-$(CONFIG_ACCESSIBILITY)   += accessibility/
@@@ -96,7 -98,7 +97,7 @@@ obj-$(CONFIG_EISA)            += eisa
  obj-y                         += lguest/
  obj-$(CONFIG_CPU_FREQ)                += cpufreq/
  obj-$(CONFIG_CPU_IDLE)                += cpuidle/
 -obj-$(CONFIG_MMC)             += mmc/
 +obj-y                         += mmc/
  obj-$(CONFIG_MEMSTICK)                += memstick/
  obj-y                         += leds/
  obj-$(CONFIG_INFINIBAND)      += infiniband/
@@@ -125,8 -127,6 +126,8 @@@ obj-y                              += clk
  obj-$(CONFIG_HWSPINLOCK)      += hwspinlock/
  obj-$(CONFIG_NFC)             += nfc/
  obj-$(CONFIG_IOMMU_SUPPORT)   += iommu/
 +obj-$(CONFIG_REMOTEPROC)      += remoteproc/
 +obj-$(CONFIG_RPMSG)           += rpmsg/
  
  # Virtualization drivers
  obj-$(CONFIG_VIRT_DRIVERS)    += virt/
diff --combined include/linux/Kbuild
index d05df2810354737714bec9f1f897657036ddc150,3171939e62612884a20eba24db919c371bb1b896..3c9b616c834a39601247a29f99fe08979317bf25
@@@ -3,6 -3,7 +3,7 @@@ header-y += can
  header-y += caif/
  header-y += dvb/
  header-y += hdlc/
+ header-y += hsi/
  header-y += isdn/
  header-y += mmc/
  header-y += nfsd/
@@@ -120,6 -121,7 +121,6 @@@ header-y += errno.
  header-y += errqueue.h
  header-y += ethtool.h
  header-y += eventpoll.h
 -header-y += ext2_fs.h
  header-y += fadvise.h
  header-y += falloc.h
  header-y += fanotify.h
@@@ -184,7 -186,6 +185,7 @@@ header-y += if_pppol2tp.
  header-y += if_pppox.h
  header-y += if_slip.h
  header-y += if_strip.h
 +header-y += if_team.h
  header-y += if_tr.h
  header-y += if_tun.h
  header-y += if_tunnel.h
@@@ -194,9 -195,7 +195,9 @@@ header-y += igmp.
  header-y += in.h
  header-y += in6.h
  header-y += in_route.h
 +header-y += sock_diag.h
  header-y += inet_diag.h
 +header-y += unix_diag.h
  header-y += inotify.h
  header-y += input.h
  header-y += ioctl.h
@@@ -237,7 -236,6 +238,7 @@@ header-y += magic.
  header-y += major.h
  header-y += map_to_7segment.h
  header-y += matroxfb.h
 +header-y += mdio.h
  header-y += media.h
  header-y += mempolicy.h
  header-y += meye.h
@@@ -304,7 -302,6 +305,7 @@@ header-y += poll.
  header-y += posix_types.h
  header-y += ppdev.h
  header-y += ppp-comp.h
 +header-y += ppp-ioctl.h
  header-y += ppp_defs.h
  header-y += pps.h
  header-y += prctl.h
@@@ -356,7 -353,6 +357,7 @@@ header-y += suspend_ioctls.
  header-y += swab.h
  header-y += synclink.h
  header-y += sysctl.h
 +header-y += sysinfo.h
  header-y += taskstats.h
  header-y += tcp.h
  header-y += telephony.h