From c49563c9ebf59a38e37af238ec1dc8fd5585f2b1 Mon Sep 17 00:00:00 2001 From: Alex Deucher Date: Mon, 18 Mar 2013 17:12:50 -0400 Subject: [PATCH] --- yaml --- r: 371390 b: refs/heads/master c: bf05d9985111f85ed6922c134567b96eb789283b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/Documentation/EDID/1600x1200.S | 44 - trunk/Documentation/EDID/HOWTO.txt | 12 +- .../Documentation/networking/ipvs-sysctl.txt | 7 - trunk/MAINTAINERS | 27 +- trunk/Makefile | 2 +- trunk/arch/arc/include/asm/dma-mapping.h | 2 +- trunk/arch/arc/include/asm/elf.h | 3 + trunk/arch/arc/include/asm/entry.h | 2 +- trunk/arch/arc/include/asm/kgdb.h | 6 +- trunk/arch/arc/include/asm/ptrace.h | 2 +- trunk/arch/arc/include/asm/syscalls.h | 2 + trunk/arch/arc/include/uapi/asm/ptrace.h | 4 +- trunk/arch/arc/kernel/entry.S | 27 +- trunk/arch/arc/kernel/kgdb.c | 1 - trunk/arch/arc/kernel/setup.c | 4 +- trunk/arch/arc/kernel/sys.c | 2 + trunk/arch/arm/Kconfig | 14 +- trunk/arch/arm/Kconfig.debug | 1 - .../arch/arm/boot/dts/armada-370-mirabox.dts | 2 +- trunk/arch/arm/boot/dts/armada-370.dtsi | 6 - trunk/arch/arm/boot/dts/dbx5x0.dtsi | 4 +- .../arch/arm/boot/dts/kirkwood-goflexnet.dts | 1 - trunk/arch/arm/boot/dts/orion5x.dtsi | 9 +- trunk/arch/arm/boot/dts/tegra20.dtsi | 2 +- trunk/arch/arm/boot/dts/tegra30.dtsi | 2 +- trunk/arch/arm/include/asm/delay.h | 2 +- trunk/arch/arm/include/asm/highmem.h | 7 - trunk/arch/arm/include/asm/mmu_context.h | 2 - trunk/arch/arm/include/asm/tlbflush.h | 15 - trunk/arch/arm/kernel/entry-common.S | 12 - trunk/arch/arm/kernel/head.S | 2 +- trunk/arch/arm/kernel/hw_breakpoint.c | 6 +- trunk/arch/arm/kernel/setup.c | 24 +- trunk/arch/arm/kernel/smp.c | 3 + trunk/arch/arm/kernel/smp_tlb.c | 66 - trunk/arch/arm/kvm/vgic.c | 35 +- trunk/arch/arm/lib/delay.c | 8 +- trunk/arch/arm/mach-cns3xxx/core.c | 16 +- .../arm/mach-cns3xxx/include/mach/cns3xxx.h | 16 +- .../arm/mach-ep93xx/include/mach/uncompress.h | 10 +- trunk/arch/arm/mach-imx/common.h | 2 - trunk/arch/arm/mach-imx/hotplug.c | 12 - trunk/arch/arm/mach-imx/src.c | 12 - trunk/arch/arm/mach-kirkwood/guruplug-setup.c | 2 - trunk/arch/arm/mach-kirkwood/openrd-setup.c | 1 - .../arch/arm/mach-kirkwood/rd88f6281-setup.c | 1 - trunk/arch/arm/mach-msm/timer.c | 5 +- trunk/arch/arm/mach-mvebu/irq-armada-370-xp.c | 8 +- trunk/arch/arm/mach-mxs/mach-mxs.c | 24 +- trunk/arch/arm/mach-omap1/clock_data.c | 12 +- trunk/arch/arm/mach-omap2/board-2430sdp.c | 2 +- trunk/arch/arm/mach-omap2/board-3430sdp.c | 2 +- trunk/arch/arm/mach-omap2/board-am3517evm.c | 3 +- trunk/arch/arm/mach-omap2/board-cm-t35.c | 3 +- trunk/arch/arm/mach-omap2/board-devkit8000.c | 3 +- trunk/arch/arm/mach-omap2/board-h4.c | 2 +- trunk/arch/arm/mach-omap2/board-igep0020.c | 2 +- trunk/arch/arm/mach-omap2/board-ldp.c | 2 +- trunk/arch/arm/mach-omap2/board-omap3beagle.c | 2 +- trunk/arch/arm/mach-omap2/board-omap3evm.c | 2 +- .../arch/arm/mach-omap2/board-omap3stalker.c | 3 +- trunk/arch/arm/mach-omap2/board-overo.c | 3 +- trunk/arch/arm/mach-omap2/cclock44xx_data.c | 20 - trunk/arch/arm/mach-omap2/common.h | 3 - trunk/arch/arm/mach-omap2/dss-common.c | 4 +- trunk/arch/arm/mach-omap2/io.c | 18 +- trunk/arch/arm/mach-omap2/omap_hwmod.c | 7 +- trunk/arch/arm/mach-omap2/omap_hwmod.h | 9 +- .../arm/mach-omap2/omap_hwmod_3xxx_data.c | 7 +- .../arm/mach-omap2/omap_hwmod_44xx_data.c | 6 - trunk/arch/arm/mach-omap2/timer.c | 4 - trunk/arch/arm/mach-ux500/board-mop500-sdi.c | 1 + trunk/arch/arm/mach-ux500/board-mop500.c | 12 - trunk/arch/arm/mach-ux500/board-mop500.h | 1 - trunk/arch/arm/mach-ux500/cpu-db8500.c | 5 +- trunk/arch/arm/mm/cache-l2x0.c | 11 +- trunk/arch/arm/mm/context.c | 3 +- trunk/arch/arm/mm/mmu.c | 73 +- trunk/arch/arm/mm/proc-v7.S | 19 +- trunk/arch/arm64/mm/mmu.c | 2 +- trunk/arch/ia64/kernel/process.c | 5 +- trunk/arch/mips/Kconfig | 3 +- .../arch/mips/bcm63xx/boards/board_bcm963xx.c | 5 +- trunk/arch/mips/bcm63xx/nvram.c | 7 +- trunk/arch/mips/bcm63xx/setup.c | 2 +- .../include/asm/mach-bcm63xx/bcm63xx_nvram.h | 4 +- .../asm/mach-sead3/cpu-feature-overrides.h | 4 + trunk/arch/mips/include/asm/mipsregs.h | 209 +-- trunk/arch/mips/include/asm/signal.h | 2 +- trunk/arch/mips/kernel/Makefile | 25 +- trunk/arch/mips/kernel/cpu-probe.c | 7 +- trunk/arch/mips/kernel/linux32.c | 2 +- trunk/arch/mips/kernel/proc.c | 2 +- trunk/arch/mips/lib/bitops.c | 16 +- trunk/arch/mips/lib/csum_partial.S | 4 +- trunk/arch/powerpc/kernel/epapr_paravirt.c | 6 - trunk/arch/powerpc/kernel/exceptions-64s.S | 144 +- trunk/arch/s390/include/asm/pgtable.h | 4 +- trunk/arch/s390/lib/uaccess_pt.c | 83 +- trunk/arch/tile/kernel/setup.c | 25 +- trunk/arch/x86/include/asm/xen/hypercall.h | 4 +- trunk/arch/x86/include/uapi/asm/msr-index.h | 1 - trunk/arch/x86/kernel/microcode_intel_early.c | 30 +- trunk/arch/x86/lib/usercopy_64.c | 4 +- trunk/arch/x86/xen/mmu.c | 3 +- trunk/block/blk-flush.c | 2 +- trunk/block/partition-generic.c | 1 - trunk/drivers/acpi/apei/cper.c | 2 +- trunk/drivers/acpi/pci_root.c | 9 +- trunk/drivers/acpi/sleep.c | 8 - trunk/drivers/base/regmap/regcache-rbtree.c | 2 +- trunk/drivers/base/regmap/regmap.c | 9 +- trunk/drivers/block/Kconfig | 4 +- trunk/drivers/block/aoe/aoecmd.c | 3 +- trunk/drivers/block/cciss.c | 2 +- trunk/drivers/block/loop.c | 31 +- trunk/drivers/block/mg_disk.c | 4 +- trunk/drivers/block/mtip32xx/mtip32xx.c | 4 +- trunk/drivers/block/rbd.c | 47 +- trunk/drivers/block/rsxx/Makefile | 2 +- trunk/drivers/block/rsxx/config.c | 8 +- trunk/drivers/block/rsxx/core.c | 237 +-- trunk/drivers/block/rsxx/cregs.c | 112 +- trunk/drivers/block/rsxx/dma.c | 239 +-- trunk/drivers/block/rsxx/rsxx.h | 6 +- trunk/drivers/block/rsxx/rsxx_cfg.h | 2 +- trunk/drivers/block/rsxx/rsxx_priv.h | 34 +- trunk/drivers/block/xen-blkback/blkback.c | 68 +- trunk/drivers/block/xen-blkback/common.h | 40 +- trunk/drivers/block/xen-blkback/xenbus.c | 14 +- trunk/drivers/block/xen-blkfront.c | 154 +- trunk/drivers/bluetooth/ath3k.c | 4 - trunk/drivers/bluetooth/btusb.c | 2 - trunk/drivers/char/hw_random/core.c | 9 - trunk/drivers/char/virtio_console.c | 44 +- trunk/drivers/clk/tegra/clk-tegra20.c | 2 +- trunk/drivers/cpufreq/acpi-cpufreq.c | 2 + trunk/drivers/cpufreq/cpufreq_stats.c | 12 +- trunk/drivers/cpufreq/intel_pstate.c | 34 +- trunk/drivers/crypto/caam/caamalg.c | 27 +- trunk/drivers/crypto/caam/compat.h | 1 + trunk/drivers/crypto/talitos.c | 30 +- trunk/drivers/dma/Kconfig | 1 - trunk/drivers/dma/dw_dmac.c | 23 +- trunk/drivers/dma/dw_dmac_regs.h | 1 - trunk/drivers/extcon/extcon-max77693.c | 103 +- trunk/drivers/extcon/extcon-max8997.c | 56 +- trunk/drivers/firmware/Kconfig | 18 - trunk/drivers/firmware/efivars.c | 150 +- trunk/drivers/gpio/gpio-ich.c | 2 +- trunk/drivers/gpio/gpio-stmpe.c | 15 +- trunk/drivers/gpio/gpiolib-of.c | 5 +- trunk/drivers/gpu/drm/Kconfig | 2 - trunk/drivers/gpu/drm/Makefile | 1 - trunk/drivers/gpu/drm/drm_cache.c | 7 +- trunk/drivers/gpu/drm/drm_crtc.c | 212 ++- trunk/drivers/gpu/drm/drm_drv.c | 1 - trunk/drivers/gpu/drm/drm_edid_load.c | 21 +- trunk/drivers/gpu/drm/drm_fb_helper.c | 23 +- trunk/drivers/gpu/drm/drm_fops.c | 6 +- trunk/drivers/gpu/drm/drm_prime.c | 8 +- trunk/drivers/gpu/drm/i915/i915_debugfs.c | 423 +++-- trunk/drivers/gpu/drm/i915/i915_dma.c | 29 +- trunk/drivers/gpu/drm/i915/i915_drv.c | 170 +-- trunk/drivers/gpu/drm/i915/i915_drv.h | 72 +- trunk/drivers/gpu/drm/i915/i915_gem.c | 89 +- trunk/drivers/gpu/drm/i915/i915_gem_dmabuf.c | 13 +- .../gpu/drm/i915/i915_gem_execbuffer.c | 38 +- trunk/drivers/gpu/drm/i915/i915_gem_gtt.c | 77 +- trunk/drivers/gpu/drm/i915/i915_gem_stolen.c | 65 - trunk/drivers/gpu/drm/i915/i915_gem_tiling.c | 18 +- trunk/drivers/gpu/drm/i915/i915_irq.c | 457 +++--- trunk/drivers/gpu/drm/i915/i915_reg.h | 260 +--- trunk/drivers/gpu/drm/i915/i915_suspend.c | 15 +- trunk/drivers/gpu/drm/i915/i915_sysfs.c | 16 +- trunk/drivers/gpu/drm/i915/intel_crt.c | 56 +- trunk/drivers/gpu/drm/i915/intel_ddi.c | 62 +- trunk/drivers/gpu/drm/i915/intel_display.c | 1355 +++++++---------- trunk/drivers/gpu/drm/i915/intel_dp.c | 507 +++--- trunk/drivers/gpu/drm/i915/intel_drv.h | 145 +- trunk/drivers/gpu/drm/i915/intel_fb.c | 5 +- trunk/drivers/gpu/drm/i915/intel_hdmi.c | 157 +- trunk/drivers/gpu/drm/i915/intel_lvds.c | 48 +- trunk/drivers/gpu/drm/i915/intel_panel.c | 44 +- trunk/drivers/gpu/drm/i915/intel_pm.c | 164 +- trunk/drivers/gpu/drm/i915/intel_sdvo.c | 119 +- trunk/drivers/gpu/drm/i915/intel_sprite.c | 243 +-- trunk/drivers/gpu/drm/i915/intel_tv.c | 14 +- trunk/drivers/gpu/drm/mgag200/mgag200_drv.h | 6 +- trunk/drivers/gpu/drm/mgag200/mgag200_fb.c | 9 +- trunk/drivers/gpu/drm/mgag200/mgag200_main.c | 29 +- trunk/drivers/gpu/drm/nouveau/nouveau_abi16.c | 18 +- trunk/drivers/gpu/drm/nouveau/nouveau_drm.c | 32 +- trunk/drivers/gpu/drm/nouveau/nouveau_drm.h | 2 +- .../drivers/gpu/drm/omapdrm/omap_connector.c | 27 +- trunk/drivers/gpu/drm/omapdrm/omap_crtc.c | 21 +- trunk/drivers/gpu/drm/omapdrm/omap_drv.c | 165 +- trunk/drivers/gpu/drm/omapdrm/omap_drv.h | 38 +- trunk/drivers/gpu/drm/omapdrm/omap_encoder.c | 24 +- .../drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 2 +- trunk/drivers/gpu/drm/omapdrm/omap_irq.c | 17 +- trunk/drivers/gpu/drm/omapdrm/omap_plane.c | 6 - trunk/drivers/gpu/drm/qxl/Kconfig | 10 - trunk/drivers/gpu/drm/qxl/Makefile | 9 - trunk/drivers/gpu/drm/qxl/qxl_cmd.c | 690 --------- trunk/drivers/gpu/drm/qxl/qxl_debugfs.c | 135 -- trunk/drivers/gpu/drm/qxl/qxl_dev.h | 879 ----------- trunk/drivers/gpu/drm/qxl/qxl_display.c | 982 ------------ trunk/drivers/gpu/drm/qxl/qxl_draw.c | 390 ----- trunk/drivers/gpu/drm/qxl/qxl_drv.c | 145 -- trunk/drivers/gpu/drm/qxl/qxl_drv.h | 566 ------- trunk/drivers/gpu/drm/qxl/qxl_dumb.c | 93 -- trunk/drivers/gpu/drm/qxl/qxl_fb.c | 567 ------- trunk/drivers/gpu/drm/qxl/qxl_fence.c | 97 -- trunk/drivers/gpu/drm/qxl/qxl_gem.c | 149 -- trunk/drivers/gpu/drm/qxl/qxl_image.c | 176 --- trunk/drivers/gpu/drm/qxl/qxl_ioctl.c | 411 ----- trunk/drivers/gpu/drm/qxl/qxl_irq.c | 97 -- trunk/drivers/gpu/drm/qxl/qxl_kms.c | 302 ---- trunk/drivers/gpu/drm/qxl/qxl_object.c | 365 ----- trunk/drivers/gpu/drm/qxl/qxl_object.h | 112 -- trunk/drivers/gpu/drm/qxl/qxl_release.c | 307 ---- trunk/drivers/gpu/drm/qxl/qxl_ttm.c | 577 ------- trunk/drivers/gpu/drm/radeon/radeon_pm.c | 6 +- trunk/drivers/gpu/drm/ttm/ttm_bo_util.c | 13 +- trunk/drivers/gpu/drm/ttm/ttm_bo_vm.c | 4 +- trunk/drivers/hid/hid-core.c | 13 +- trunk/drivers/hid/hid-ids.h | 11 +- trunk/drivers/hid/hid-magicmouse.c | 29 +- trunk/drivers/hid/hid-multitouch.c | 6 +- trunk/drivers/hid/usbhid/hid-quirks.c | 2 - trunk/drivers/infiniband/hw/cxgb4/qp.c | 4 +- .../drivers/infiniband/hw/ipath/ipath_verbs.c | 2 +- trunk/drivers/infiniband/hw/qib/Kconfig | 6 +- trunk/drivers/infiniband/hw/qib/qib_driver.c | 5 +- trunk/drivers/infiniband/hw/qib/qib_iba6120.c | 3 +- trunk/drivers/infiniband/hw/qib/qib_init.c | 8 +- trunk/drivers/infiniband/hw/qib/qib_sd7220.c | 4 +- trunk/drivers/infiniband/hw/qib/qib_verbs.c | 4 +- trunk/drivers/infiniband/ulp/ipoib/ipoib_cm.c | 8 +- trunk/drivers/iommu/Kconfig | 2 +- trunk/drivers/iommu/amd_iommu.c | 22 +- trunk/drivers/iommu/amd_iommu_init.c | 2 +- trunk/drivers/iommu/irq_remapping.c | 1 + trunk/drivers/media/i2c/m5mols/m5mols_core.c | 2 +- trunk/drivers/media/pci/bt8xx/bttv-driver.c | 20 +- trunk/drivers/media/platform/Kconfig | 2 +- .../media/platform/exynos-gsc/gsc-core.c | 8 +- .../media/platform/s5p-fimc/fimc-core.c | 6 +- .../media/platform/s5p-fimc/fimc-lite-reg.c | 8 +- .../media/platform/s5p-fimc/fimc-lite.c | 1 - .../media/platform/s5p-fimc/fimc-mdevice.c | 39 +- .../drivers/media/platform/s5p-mfc/s5p_mfc.c | 2 +- .../media/platform/s5p-mfc/s5p_mfc_enc.c | 1 - trunk/drivers/media/radio/radio-ma901.c | 11 - trunk/drivers/media/rc/Kconfig | 2 +- trunk/drivers/media/v4l2-core/Makefile | 2 +- trunk/drivers/misc/mei/hw-me.c | 29 +- trunk/drivers/misc/mei/init.c | 18 - trunk/drivers/misc/mei/mei_dev.h | 1 - trunk/drivers/misc/mei/pci-me.c | 52 +- trunk/drivers/misc/vmw_vmci/vmci_datagram.c | 4 +- trunk/drivers/net/bonding/bond_main.c | 3 +- trunk/drivers/net/bonding/bond_sysfs.c | 97 +- trunk/drivers/net/can/sja1000/Kconfig | 1 - trunk/drivers/net/can/sja1000/plx_pci.c | 4 +- trunk/drivers/net/can/sja1000/sja1000.c | 6 +- trunk/drivers/net/can/sja1000/sja1000.h | 2 +- .../net/ethernet/atheros/atl1e/atl1e.h | 1 + .../net/ethernet/atheros/atl1e/atl1e_main.c | 19 +- .../net/ethernet/broadcom/bnx2x/bnx2x_dcb.c | 18 +- trunk/drivers/net/ethernet/broadcom/tg3.c | 7 +- trunk/drivers/net/ethernet/calxeda/xgmac.c | 9 +- trunk/drivers/net/ethernet/davicom/dm9000.c | 214 ++- trunk/drivers/net/ethernet/davicom/dm9000.h | 11 +- trunk/drivers/net/ethernet/freescale/fec.c | 86 +- .../drivers/net/ethernet/freescale/fec_ptp.c | 3 - .../net/ethernet/intel/e1000/e1000_ethtool.c | 14 +- .../net/ethernet/intel/e1000e/netdev.c | 7 +- .../net/ethernet/intel/igb/e1000_82575.c | 33 +- .../net/ethernet/intel/igb/igb_hwmon.c | 2 +- .../drivers/net/ethernet/intel/igb/igb_main.c | 4 +- .../drivers/net/ethernet/intel/igb/igb_ptp.c | 2 +- .../net/ethernet/intel/ixgb/ixgb_main.c | 7 +- .../net/ethernet/intel/ixgbevf/ixgbevf_main.c | 24 +- trunk/drivers/net/ethernet/lantiq_etop.c | 2 +- trunk/drivers/net/ethernet/marvell/sky2.c | 2 +- trunk/drivers/net/ethernet/marvell/sky2.h | 2 +- .../net/ethernet/mellanox/mlx4/en_netdev.c | 26 +- trunk/drivers/net/ethernet/mellanox/mlx4/eq.c | 2 +- .../ethernet/mellanox/mlx4/resource_tracker.c | 45 +- trunk/drivers/net/ethernet/micrel/ks8851.c | 2 +- trunk/drivers/net/ethernet/nxp/lpc_eth.c | 3 +- .../ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 4 +- trunk/drivers/net/ethernet/renesas/sh_eth.c | 38 +- trunk/drivers/net/ethernet/renesas/sh_eth.h | 3 +- trunk/drivers/net/ethernet/ti/cpsw.c | 4 +- trunk/drivers/net/ethernet/ti/davinci_emac.c | 2 +- trunk/drivers/net/usb/smsc75xx.c | 12 +- .../net/wireless/ath/ath9k/ar9003_calib.c | 4 - trunk/drivers/net/wireless/ath/ath9k/link.c | 29 +- trunk/drivers/net/wireless/b43/dma.c | 65 +- trunk/drivers/net/wireless/b43/phy_n.c | 8 +- .../wireless/brcm80211/brcmsmac/phy/phy_lcn.c | 369 +++-- .../brcm80211/brcmsmac/phy/phytbl_lcn.c | 64 +- .../drivers/net/wireless/iwlegacy/3945-mac.c | 22 +- trunk/drivers/net/wireless/iwlegacy/4965-rs.c | 3 +- trunk/drivers/net/wireless/iwlwifi/dvm/lib.c | 9 - .../drivers/net/wireless/iwlwifi/dvm/ucode.c | 4 +- .../drivers/net/wireless/iwlwifi/pcie/trans.c | 13 - trunk/drivers/net/wireless/iwlwifi/pcie/tx.c | 2 +- trunk/drivers/net/wireless/mwifiex/cmdevt.c | 22 +- trunk/drivers/net/wireless/mwifiex/init.c | 8 - trunk/drivers/net/wireless/mwifiex/main.h | 4 +- trunk/drivers/net/wireless/mwifiex/pcie.c | 1 - trunk/drivers/net/wireless/mwifiex/scan.c | 8 +- .../drivers/net/wireless/mwifiex/sta_ioctl.c | 10 +- trunk/drivers/net/wireless/rtlwifi/usb.c | 1 - trunk/drivers/pinctrl/mvebu/pinctrl-mvebu.c | 2 +- trunk/drivers/pinctrl/pinconf.c | 2 +- trunk/drivers/pinctrl/pinconf.h | 2 +- trunk/drivers/pinctrl/pinctrl-abx500.c | 2 +- trunk/drivers/pinctrl/pinmux.c | 5 - trunk/drivers/s390/block/scm_blk.c | 11 +- trunk/drivers/s390/block/scm_drv.c | 2 +- trunk/drivers/s390/char/tty3270.c | 16 +- trunk/drivers/scsi/bnx2fc/bnx2fc_fcoe.c | 6 +- trunk/drivers/scsi/fcoe/fcoe.c | 15 +- trunk/drivers/scsi/fcoe/fcoe_ctlr.c | 60 +- trunk/drivers/scsi/libfc/fc_disc.c | 26 +- trunk/drivers/spi/Kconfig | 3 +- trunk/drivers/staging/comedi/drivers/s626.c | 2 +- trunk/drivers/staging/zcache/Kconfig | 2 +- trunk/drivers/target/target_core_transport.c | 4 +- .../tty/serial/8250/{8250_core.c => 8250.c} | 6 +- trunk/drivers/tty/serial/8250/8250_pci.c | 13 - trunk/drivers/tty/serial/8250/Kconfig | 17 - trunk/drivers/tty/serial/8250/Makefile | 8 +- trunk/drivers/tty/serial/atmel_serial.c | 11 +- trunk/drivers/tty/serial/xilinx_uartps.c | 2 - trunk/drivers/tty/vt/vc_screen.c | 6 +- trunk/drivers/usb/core/hcd.c | 8 - trunk/drivers/usb/core/usb-acpi.c | 8 +- trunk/drivers/usb/gadget/Kconfig | 1 - trunk/drivers/usb/host/ehci-sched.c | 2 - trunk/drivers/usb/host/xhci-mem.c | 36 +- trunk/drivers/usb/host/xhci-pci.c | 1 - trunk/drivers/usb/host/xhci-ring.c | 61 +- trunk/drivers/usb/host/xhci.c | 22 - trunk/drivers/usb/host/xhci.h | 5 - trunk/drivers/usb/phy/Kconfig | 1 - trunk/drivers/usb/serial/ftdi_sio.c | 1 - trunk/drivers/usb/serial/ftdi_sio_ids.h | 7 - trunk/drivers/usb/serial/usb-serial.c | 1 - trunk/drivers/vhost/tcm_vhost.c | 13 +- trunk/drivers/video/fbmem.c | 7 - trunk/drivers/video/hdmi.c | 21 +- trunk/drivers/video/mxsfb.c | 7 +- trunk/drivers/video/omap/omapfb_main.c | 2 - .../video/omap2/displays/panel-acx565akm.c | 59 +- .../video/omap2/displays/panel-generic-dpi.c | 39 +- .../omap2/displays/panel-lgphilips-lb035q02.c | 58 +- .../drivers/video/omap2/displays/panel-n8x0.c | 95 +- .../omap2/displays/panel-nec-nl8048hl11-01b.c | 135 +- .../video/omap2/displays/panel-picodlp.c | 49 +- .../omap2/displays/panel-sharp-ls037v7dw01.c | 126 +- .../drivers/video/omap2/displays/panel-taal.c | 300 +++- .../video/omap2/displays/panel-tfp410.c | 2 +- .../omap2/displays/panel-tpo-td043mtea1.c | 58 +- trunk/drivers/video/omap2/dss/apply.c | 15 +- trunk/drivers/video/omap2/dss/core.c | 5 +- trunk/drivers/video/omap2/dss/dispc.c | 176 +-- trunk/drivers/video/omap2/dss/dispc.h | 1 - trunk/drivers/video/omap2/dss/dpi.c | 316 +--- trunk/drivers/video/omap2/dss/dsi.c | 1221 ++++++--------- trunk/drivers/video/omap2/dss/dss.c | 181 ++- trunk/drivers/video/omap2/dss/dss.h | 36 +- trunk/drivers/video/omap2/dss/dss_features.c | 14 +- trunk/drivers/video/omap2/dss/hdmi.c | 35 +- trunk/drivers/video/omap2/dss/output.c | 1 - trunk/drivers/video/omap2/dss/rfbi.c | 2 - trunk/drivers/video/omap2/dss/sdi.c | 70 +- trunk/drivers/video/omap2/dss/venc.c | 23 +- .../drivers/video/omap2/omapfb/omapfb-main.c | 2 +- trunk/drivers/video/sh_mobile_lcdcfb.c | 1 - trunk/drivers/xen/Kconfig | 2 +- trunk/drivers/xen/events.c | 20 +- trunk/drivers/xen/fallback.c | 3 +- trunk/drivers/xen/xen-acpi-processor.c | 3 - trunk/drivers/xen/xen-pciback/pci_stub.c | 59 +- trunk/firmware/Makefile | 2 +- .../firmware/{intel => qlogic}/sd7220.fw.ihex | 0 trunk/fs/block_dev.c | 1 - trunk/fs/btrfs/ctree.c | 30 +- trunk/fs/btrfs/disk-io.c | 14 +- trunk/fs/btrfs/extent-tree.c | 84 +- trunk/fs/btrfs/extent_io.c | 33 - trunk/fs/btrfs/extent_io.h | 2 - trunk/fs/btrfs/file-item.c | 6 +- trunk/fs/btrfs/file.c | 9 - trunk/fs/btrfs/inode.c | 22 +- trunk/fs/btrfs/ordered-data.c | 2 - trunk/fs/btrfs/qgroup.c | 3 +- trunk/fs/btrfs/scrub.c | 3 +- trunk/fs/btrfs/send.c | 10 +- trunk/fs/btrfs/volumes.c | 13 +- trunk/fs/dcache.c | 16 +- trunk/fs/ext4/extents.c | 11 +- trunk/fs/ext4/indirect.c | 4 +- trunk/fs/internal.h | 5 - trunk/fs/namespace.c | 54 +- trunk/fs/nfs/blocklayout/blocklayoutdm.c | 4 +- trunk/fs/nfs/idmap.c | 13 +- trunk/fs/nfs/nfs4filelayout.c | 1 + trunk/fs/nfs/nfs4proc.c | 16 +- trunk/fs/nfs/pnfs.c | 81 +- trunk/fs/nfs/pnfs.h | 6 - trunk/fs/nfsd/nfs4xdr.c | 2 +- trunk/fs/nfsd/nfscache.c | 11 +- trunk/fs/nfsd/vfs.c | 3 +- trunk/fs/pnode.c | 6 - trunk/fs/pnode.h | 1 - trunk/fs/proc/root.c | 4 - trunk/fs/read_write.c | 28 - trunk/fs/reiserfs/xattr.c | 4 +- trunk/fs/splice.c | 4 +- trunk/fs/sysfs/dir.c | 17 +- trunk/fs/sysfs/mount.c | 4 - trunk/fs/ubifs/super.c | 12 +- trunk/include/drm/drm_crtc.h | 2 +- trunk/include/drm/drm_fb_helper.h | 10 +- trunk/include/drm/ttm/ttm_bo_driver.h | 4 - trunk/include/linux/compat.h | 4 +- trunk/include/linux/debug_locks.h | 4 +- trunk/include/linux/fb.h | 2 - trunk/include/linux/freezer.h | 3 + trunk/include/linux/fs_struct.h | 2 - trunk/include/linux/mfd/max77693-private.h | 23 - trunk/include/linux/mm.h | 1 + trunk/include/linux/mman.h | 4 +- trunk/include/linux/mount.h | 2 - trunk/include/linux/mxsfb.h | 7 +- trunk/include/linux/netdevice.h | 2 +- trunk/include/linux/pm.h | 13 - trunk/include/linux/scatterlist.h | 28 +- trunk/include/linux/signal.h | 4 +- trunk/include/linux/thermal.h | 2 +- trunk/include/linux/udp.h | 1 - trunk/include/linux/usb/hcd.h | 2 - trunk/include/linux/user_namespace.h | 4 - trunk/include/net/flow_keys.h | 1 - trunk/include/net/ip_vs.h | 12 - trunk/include/net/ipip.h | 16 +- trunk/include/scsi/libfc.h | 3 +- trunk/include/uapi/drm/Kbuild | 1 - trunk/include/uapi/drm/drm.h | 2 +- trunk/include/uapi/drm/drm_mode.h | 6 +- trunk/include/uapi/drm/qxl_drm.h | 152 -- trunk/include/uapi/linux/packet_diag.h | 4 +- trunk/include/uapi/linux/unix_diag.h | 4 +- trunk/include/video/omap-panel-data.h | 150 -- trunk/include/video/omap-panel-generic-dpi.h | 37 + trunk/include/video/omap-panel-n8x0.h | 15 + trunk/include/video/omap-panel-nokia-dsi.h | 32 + trunk/include/video/omap-panel-picodlp.h | 23 + trunk/include/video/omap-panel-tfp410.h | 35 + trunk/include/video/omapdss.h | 86 +- trunk/include/xen/interface/io/blkif.h | 10 - trunk/include/xen/interface/physdev.h | 6 - trunk/ipc/mqueue.c | 12 +- trunk/ipc/msg.c | 1 - trunk/kernel/exit.c | 2 +- trunk/kernel/lockdep.c | 17 +- trunk/kernel/pid_namespace.c | 3 +- trunk/kernel/power/console.c | 116 -- trunk/kernel/time/tick-broadcast.c | 3 +- trunk/kernel/user.c | 2 - trunk/kernel/user_namespace.c | 11 - trunk/lib/scatterlist.c | 4 +- trunk/mm/fremap.c | 12 +- trunk/mm/mlock.c | 11 +- trunk/mm/mmap.c | 6 +- trunk/mm/nommu.c | 2 +- trunk/net/8021q/vlan.c | 14 +- trunk/net/bluetooth/sco.c | 1 - trunk/net/bridge/br_fdb.c | 2 +- trunk/net/core/dev.c | 8 +- trunk/net/core/flow.c | 2 +- trunk/net/core/flow_dissector.c | 2 - trunk/net/core/rtnetlink.c | 4 +- trunk/net/core/scm.c | 4 +- trunk/net/ipv4/af_inet.c | 3 +- trunk/net/ipv4/ipconfig.c | 3 +- trunk/net/ipv4/netfilter/Kconfig | 13 + trunk/net/ipv4/tcp_input.c | 7 +- trunk/net/ipv4/tcp_output.c | 7 +- trunk/net/ipv4/udp.c | 7 - trunk/net/ipv6/addrconf.c | 53 +- trunk/net/ipv6/ip6_input.c | 12 - trunk/net/ipv6/netfilter/ip6t_NPT.c | 2 - trunk/net/ipv6/udp.c | 8 - trunk/net/irda/af_irda.c | 6 +- trunk/net/key/af_key.c | 1 - trunk/net/l2tp/l2tp_core.c | 206 +-- trunk/net/l2tp/l2tp_core.h | 22 +- trunk/net/l2tp/l2tp_debugfs.c | 28 +- trunk/net/l2tp/l2tp_ip.c | 6 - trunk/net/l2tp/l2tp_ip6.c | 7 - trunk/net/l2tp/l2tp_netlink.c | 72 +- trunk/net/l2tp/l2tp_ppp.c | 111 +- trunk/net/mac80211/iface.c | 35 +- trunk/net/mac80211/mesh.c | 3 +- trunk/net/mac80211/mlme.c | 6 +- trunk/net/mac80211/rx.c | 14 +- trunk/net/mac80211/sta_info.c | 12 +- trunk/net/netfilter/ipvs/ip_vs_core.c | 14 +- trunk/net/netfilter/ipvs/ip_vs_ctl.c | 7 - trunk/net/netfilter/ipvs/ip_vs_proto_sctp.c | 16 +- trunk/net/netfilter/nf_conntrack_proto_dccp.c | 12 +- trunk/net/netfilter/nf_conntrack_proto_gre.c | 12 +- trunk/net/netfilter/nf_conntrack_proto_sctp.c | 12 +- .../netfilter/nf_conntrack_proto_udplite.c | 12 +- trunk/net/netfilter/nfnetlink_queue_core.c | 2 +- trunk/net/netlink/genetlink.c | 1 - trunk/net/sched/sch_cbq.c | 5 +- trunk/net/sched/sch_fq_codel.c | 2 +- trunk/net/sched/sch_generic.c | 2 +- trunk/net/sunrpc/sched.c | 9 +- trunk/net/unix/af_unix.c | 11 +- trunk/net/vmw_vsock/af_vsock.c | 6 +- trunk/net/vmw_vsock/vmci_transport.c | 31 +- trunk/net/vmw_vsock/vsock_addr.c | 10 + trunk/net/vmw_vsock/vsock_addr.h | 2 + trunk/net/wireless/core.c | 64 +- trunk/net/wireless/core.h | 3 - trunk/net/wireless/nl80211.c | 52 +- trunk/net/wireless/scan.c | 24 +- trunk/net/wireless/sme.c | 6 +- trunk/net/wireless/trace.h | 5 +- trunk/net/wireless/wext-sme.c | 6 - trunk/net/xfrm/xfrm_replay.c | 66 +- trunk/security/yama/yama_lsm.c | 4 +- 543 files changed, 6357 insertions(+), 16756 deletions(-) delete mode 100644 trunk/Documentation/EDID/1600x1200.S delete mode 100644 trunk/drivers/gpu/drm/qxl/Kconfig delete mode 100644 trunk/drivers/gpu/drm/qxl/Makefile delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_cmd.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_debugfs.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_dev.h delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_display.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_draw.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_drv.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_drv.h delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_dumb.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_fb.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_fence.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_gem.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_image.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_ioctl.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_irq.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_kms.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_object.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_object.h delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_release.c delete mode 100644 trunk/drivers/gpu/drm/qxl/qxl_ttm.c rename trunk/drivers/tty/serial/8250/{8250_core.c => 8250.c} (99%) rename trunk/firmware/{intel => qlogic}/sd7220.fw.ihex (100%) delete mode 100644 trunk/include/uapi/drm/qxl_drm.h delete mode 100644 trunk/include/video/omap-panel-data.h create mode 100644 trunk/include/video/omap-panel-generic-dpi.h create mode 100644 trunk/include/video/omap-panel-n8x0.h create mode 100644 trunk/include/video/omap-panel-nokia-dsi.h create mode 100644 trunk/include/video/omap-panel-picodlp.h create mode 100644 trunk/include/video/omap-panel-tfp410.h diff --git a/[refs] b/[refs] index 8863b13828ef..31d1ed7be3f0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 62c8ba7c58e4163f975c5f8b5a3dd5f306a2deda +refs/heads/master: bf05d9985111f85ed6922c134567b96eb789283b diff --git a/trunk/Documentation/EDID/1600x1200.S b/trunk/Documentation/EDID/1600x1200.S deleted file mode 100644 index 0ded64cfd1f5..000000000000 --- a/trunk/Documentation/EDID/1600x1200.S +++ /dev/null @@ -1,44 +0,0 @@ -/* - 1600x1200.S: EDID data set for standard 1600x1200 60 Hz monitor - - Copyright (C) 2013 Carsten Emde - - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version 2 - of the License, or (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -/* EDID */ -#define VERSION 1 -#define REVISION 3 - -/* Display */ -#define CLOCK 162000 /* kHz */ -#define XPIX 1600 -#define YPIX 1200 -#define XY_RATIO XY_RATIO_4_3 -#define XBLANK 560 -#define YBLANK 50 -#define XOFFSET 64 -#define XPULSE 192 -#define YOFFSET (63+1) -#define YPULSE (63+3) -#define DPI 72 -#define VFREQ 60 /* Hz */ -#define TIMING_NAME "Linux UXGA" -#define ESTABLISHED_TIMINGS_BITS 0x00 /* none */ -#define HSYNC_POL 1 -#define VSYNC_POL 1 -#define CRC 0x9d - -#include "edid.S" diff --git a/trunk/Documentation/EDID/HOWTO.txt b/trunk/Documentation/EDID/HOWTO.txt index 7146db1d9e8c..2d0a8f09475d 100644 --- a/trunk/Documentation/EDID/HOWTO.txt +++ b/trunk/Documentation/EDID/HOWTO.txt @@ -18,12 +18,12 @@ CONFIG_DRM_LOAD_EDID_FIRMWARE was introduced. It allows to provide an individually prepared or corrected EDID data set in the /lib/firmware directory from where it is loaded via the firmware interface. The code (see drivers/gpu/drm/drm_edid_load.c) contains built-in data sets for -commonly used screen resolutions (1024x768, 1280x1024, 1600x1200, -1680x1050, 1920x1080) as binary blobs, but the kernel source tree does -not contain code to create these data. In order to elucidate the origin -of the built-in binary EDID blobs and to facilitate the creation of -individual data for a specific misbehaving monitor, commented sources -and a Makefile environment are given here. +commonly used screen resolutions (1024x768, 1280x1024, 1680x1050, +1920x1080) as binary blobs, but the kernel source tree does not contain +code to create these data. In order to elucidate the origin of the +built-in binary EDID blobs and to facilitate the creation of individual +data for a specific misbehaving monitor, commented sources and a +Makefile environment are given here. To create binary EDID and C source code files from the existing data material, simply type "make". diff --git a/trunk/Documentation/networking/ipvs-sysctl.txt b/trunk/Documentation/networking/ipvs-sysctl.txt index 9573d0c48c6e..f2a2488f1bf3 100644 --- a/trunk/Documentation/networking/ipvs-sysctl.txt +++ b/trunk/Documentation/networking/ipvs-sysctl.txt @@ -15,13 +15,6 @@ amemthresh - INTEGER enabled and the variable is automatically set to 2, otherwise the strategy is disabled and the variable is set to 1. -backup_only - BOOLEAN - 0 - disabled (default) - not 0 - enabled - - If set, disable the director function while the server is - in backup mode to avoid packet loops for DR/TUN methods. - conntrack - BOOLEAN 0 - disabled (default) not 0 - enabled diff --git a/trunk/MAINTAINERS b/trunk/MAINTAINERS index 836a6183c37f..4cf5fd334a06 100644 --- a/trunk/MAINTAINERS +++ b/trunk/MAINTAINERS @@ -3242,12 +3242,6 @@ F: Documentation/firmware_class/ F: drivers/base/firmware*.c F: include/linux/firmware.h -FLASHSYSTEM DRIVER (IBM FlashSystem 70/80 PCI SSD Flash Card) -M: Joshua Morris -M: Philip Kelleher -S: Maintained -F: drivers/block/rsxx/ - FLOPPY DRIVER M: Jiri Kosina T: git git://git.kernel.org/pub/scm/linux/kernel/git/jikos/floppy.git @@ -5065,8 +5059,9 @@ S: Maintained F: drivers/net/ethernet/marvell/sk* MARVELL LIBERTAS WIRELESS DRIVER +M: Dan Williams L: libertas-dev@lists.infradead.org -S: Orphan +S: Maintained F: drivers/net/wireless/libertas/ MARVELL MV643XX ETHERNET DRIVER @@ -5568,7 +5563,6 @@ F: include/uapi/linux/if_* F: include/uapi/linux/netdevice.h NETXEN (1/10) GbE SUPPORT -M: Manish Chopra M: Sony Chacko M: Rajesh Borundia L: netdev@vger.kernel.org @@ -5689,7 +5683,7 @@ S: Maintained F: arch/arm/*omap*/*clock* OMAP POWER MANAGEMENT SUPPORT -M: Kevin Hilman +M: Kevin Hilman L: linux-omap@vger.kernel.org S: Maintained F: arch/arm/*omap*/*pm* @@ -5783,7 +5777,7 @@ F: arch/arm/*omap*/usb* OMAP GPIO DRIVER M: Santosh Shilimkar -M: Kevin Hilman +M: Kevin Hilman L: linux-omap@vger.kernel.org S: Maintained F: drivers/gpio/gpio-omap.c @@ -6215,7 +6209,7 @@ F: include/linux/power_supply.h F: drivers/power/ PNP SUPPORT -M: Rafael J. Wysocki +M: Adam Belay M: Bjorn Helgaas S: Maintained F: drivers/pnp/ @@ -6557,6 +6551,12 @@ S: Maintained F: Documentation/blockdev/ramdisk.txt F: drivers/block/brd.c +RAMSAM DRIVER (IBM RamSan 70/80 PCI SSD Flash Card) +M: Joshua Morris +M: Philip Kelleher +S: Maintained +F: drivers/block/rsxx/ + RANDOM NUMBER DRIVER M: Theodore Ts'o" S: Maintained @@ -7173,7 +7173,7 @@ F: arch/arm/mach-s3c2410/bast-irq.c TI DAVINCI MACHINE SUPPORT M: Sekhar Nori -M: Kevin Hilman +M: Kevin Hilman L: davinci-linux-open-source@linux.davincidsp.com (moderated for non-subscribers) T: git git://gitorious.org/linux-davinci/linux-davinci.git Q: http://patchwork.kernel.org/project/linux-davinci/list/ @@ -7706,10 +7706,9 @@ F: include/linux/swiotlb.h SYNOPSYS ARC ARCHITECTURE M: Vineet Gupta +L: linux-snps-arc@vger.kernel.org S: Supported F: arch/arc/ -F: Documentation/devicetree/bindings/arc/ -F: drivers/tty/serial/arc-uart.c SYSV FILESYSTEM M: Christoph Hellwig diff --git a/trunk/Makefile b/trunk/Makefile index 58a165b02af1..54d2b2a0fef0 100644 --- a/trunk/Makefile +++ b/trunk/Makefile @@ -1,7 +1,7 @@ VERSION = 3 PATCHLEVEL = 9 SUBLEVEL = 0 -EXTRAVERSION = -rc5 +EXTRAVERSION = -rc4 NAME = Unicycling Gorilla # *DOCUMENTATION* diff --git a/trunk/arch/arc/include/asm/dma-mapping.h b/trunk/arch/arc/include/asm/dma-mapping.h index 45b8e0cea176..31f77aec0823 100644 --- a/trunk/arch/arc/include/asm/dma-mapping.h +++ b/trunk/arch/arc/include/asm/dma-mapping.h @@ -126,7 +126,7 @@ dma_map_sg(struct device *dev, struct scatterlist *sg, int i; for_each_sg(sg, s, nents, i) - s->dma_address = dma_map_page(dev, sg_page(s), s->offset, + sg->dma_address = dma_map_page(dev, sg_page(s), s->offset, s->length, dir); return nents; diff --git a/trunk/arch/arc/include/asm/elf.h b/trunk/arch/arc/include/asm/elf.h index a26282857683..f4c8d36ebecb 100644 --- a/trunk/arch/arc/include/asm/elf.h +++ b/trunk/arch/arc/include/asm/elf.h @@ -72,4 +72,7 @@ extern int elf_check_arch(const struct elf32_hdr *); */ #define ELF_PLATFORM (NULL) +#define SET_PERSONALITY(ex) \ + set_personality(PER_LINUX | (current->personality & (~PER_MASK))) + #endif diff --git a/trunk/arch/arc/include/asm/entry.h b/trunk/arch/arc/include/asm/entry.h index eb2ae53187d9..23daa326fc9b 100644 --- a/trunk/arch/arc/include/asm/entry.h +++ b/trunk/arch/arc/include/asm/entry.h @@ -415,7 +415,7 @@ *-------------------------------------------------------------*/ .macro SAVE_ALL_EXCEPTION marker - st \marker, [sp, 8] /* orig_r8 */ + st \marker, [sp, 8] st r0, [sp, 4] /* orig_r0, needed only for sys calls */ /* Restore r9 used to code the early prologue */ diff --git a/trunk/arch/arc/include/asm/kgdb.h b/trunk/arch/arc/include/asm/kgdb.h index 4930957ca3d3..f3c4934f0ca9 100644 --- a/trunk/arch/arc/include/asm/kgdb.h +++ b/trunk/arch/arc/include/asm/kgdb.h @@ -13,7 +13,7 @@ #ifdef CONFIG_KGDB -#include +#include /* to ensure compatibility with Linux 2.6.35, we don't implement the get/set * register API yet */ @@ -53,7 +53,9 @@ enum arc700_linux_regnums { }; #else -#define kgdb_trap(regs, param) +static inline void kgdb_trap(struct pt_regs *regs, int param) +{ +} #endif #endif /* __ARC_KGDB_H__ */ diff --git a/trunk/arch/arc/include/asm/ptrace.h b/trunk/arch/arc/include/asm/ptrace.h index 6179de7e07c2..8ae783d20a81 100644 --- a/trunk/arch/arc/include/asm/ptrace.h +++ b/trunk/arch/arc/include/asm/ptrace.h @@ -123,7 +123,7 @@ static inline long regs_return_value(struct pt_regs *regs) #define orig_r8_IS_SCALL 0x0001 #define orig_r8_IS_SCALL_RESTARTED 0x0002 #define orig_r8_IS_BRKPT 0x0004 -#define orig_r8_IS_EXCPN 0x0008 +#define orig_r8_IS_EXCPN 0x0004 #define orig_r8_IS_IRQ1 0x0010 #define orig_r8_IS_IRQ2 0x0020 diff --git a/trunk/arch/arc/include/asm/syscalls.h b/trunk/arch/arc/include/asm/syscalls.h index dd785befe7fd..e53a5340ba4f 100644 --- a/trunk/arch/arc/include/asm/syscalls.h +++ b/trunk/arch/arc/include/asm/syscalls.h @@ -16,6 +16,8 @@ #include int sys_clone_wrapper(int, int, int, int, int); +int sys_fork_wrapper(void); +int sys_vfork_wrapper(void); int sys_cacheflush(uint32_t, uint32_t uint32_t); int sys_arc_settls(void *); int sys_arc_gettls(void); diff --git a/trunk/arch/arc/include/uapi/asm/ptrace.h b/trunk/arch/arc/include/uapi/asm/ptrace.h index 30333cec0fef..6afa4f702075 100644 --- a/trunk/arch/arc/include/uapi/asm/ptrace.h +++ b/trunk/arch/arc/include/uapi/asm/ptrace.h @@ -28,14 +28,14 @@ */ struct user_regs_struct { - struct { + struct scratch { long pad; long bta, lp_start, lp_end, lp_count; long status32, ret, blink, fp, gp; long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0; long sp; } scratch; - struct { + struct callee { long pad; long r25, r24, r23, r22, r21, r20; long r19, r18, r17, r16, r15, r14, r13; diff --git a/trunk/arch/arc/kernel/entry.S b/trunk/arch/arc/kernel/entry.S index 91eeab81f52d..ef6800ba2f03 100644 --- a/trunk/arch/arc/kernel/entry.S +++ b/trunk/arch/arc/kernel/entry.S @@ -452,7 +452,7 @@ tracesys: ; using ERET won't work since next-PC has already committed lr r12, [efa] GET_CURR_TASK_FIELD_PTR TASK_THREAD, r11 - st r12, [r11, THREAD_FAULT_ADDR] ; thread.fault_address + st r12, [r11, THREAD_FAULT_ADDR] ; PRE Sys Call Ptrace hook mov r0, sp ; pt_regs needed @@ -792,6 +792,31 @@ ARC_EXIT ret_from_fork ;################### Special Sys Call Wrappers ########################## +; TBD: call do_fork directly from here +ARC_ENTRY sys_fork_wrapper + SAVE_CALLEE_SAVED_USER + bl @sys_fork + DISCARD_CALLEE_SAVED_USER + + GET_CURR_THR_INFO_FLAGS r10 + btst r10, TIF_SYSCALL_TRACE + bnz tracesys_exit + + b ret_from_system_call +ARC_EXIT sys_fork_wrapper + +ARC_ENTRY sys_vfork_wrapper + SAVE_CALLEE_SAVED_USER + bl @sys_vfork + DISCARD_CALLEE_SAVED_USER + + GET_CURR_THR_INFO_FLAGS r10 + btst r10, TIF_SYSCALL_TRACE + bnz tracesys_exit + + b ret_from_system_call +ARC_EXIT sys_vfork_wrapper + ARC_ENTRY sys_clone_wrapper SAVE_CALLEE_SAVED_USER bl @sys_clone diff --git a/trunk/arch/arc/kernel/kgdb.c b/trunk/arch/arc/kernel/kgdb.c index 52bdc83c1495..2888ba5be47e 100644 --- a/trunk/arch/arc/kernel/kgdb.c +++ b/trunk/arch/arc/kernel/kgdb.c @@ -9,7 +9,6 @@ */ #include -#include #include #include diff --git a/trunk/arch/arc/kernel/setup.c b/trunk/arch/arc/kernel/setup.c index 2d95ac07df7b..dc0f968dae0a 100644 --- a/trunk/arch/arc/kernel/setup.c +++ b/trunk/arch/arc/kernel/setup.c @@ -232,8 +232,10 @@ char *arc_extn_mumbojumbo(int cpu_id, char *buf, int len) n += scnprintf(buf + n, len - n, "\n"); +#ifdef _ASM_GENERIC_UNISTD_H n += scnprintf(buf + n, len - n, - "OS ABI [v3]\t: no-legacy-syscalls\n"); + "OS ABI [v2]\t: asm-generic/{unistd,stat,fcntl}\n"); +#endif return buf; } diff --git a/trunk/arch/arc/kernel/sys.c b/trunk/arch/arc/kernel/sys.c index 9d6c1ca26af6..f6bdd07583f3 100644 --- a/trunk/arch/arc/kernel/sys.c +++ b/trunk/arch/arc/kernel/sys.c @@ -6,6 +6,8 @@ #include #define sys_clone sys_clone_wrapper +#define sys_fork sys_fork_wrapper +#define sys_vfork sys_vfork_wrapper #undef __SYSCALL #define __SYSCALL(nr, call) [nr] = (call), diff --git a/trunk/arch/arm/Kconfig b/trunk/arch/arm/Kconfig index 1cacda426a0e..13b739469c51 100644 --- a/trunk/arch/arm/Kconfig +++ b/trunk/arch/arm/Kconfig @@ -1183,9 +1183,9 @@ config ARM_NR_BANKS default 8 config IWMMXT - bool "Enable iWMMXt support" if !CPU_PJ4 + bool "Enable iWMMXt support" depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 - default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 + default y if PXA27x || PXA3xx || ARCH_MMP help Enable support for iWMMXt context switching at run time if running on a CPU that supports it. @@ -1439,16 +1439,6 @@ config ARM_ERRATA_775420 to deadlock. This workaround puts DSB before executing ISB if an abort may occur on cache maintenance. -config ARM_ERRATA_798181 - bool "ARM errata: TLBI/DSB failure on Cortex-A15" - depends on CPU_V7 && SMP - help - On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not - adequately shooting down all use of the old entries. This - option enables the Linux kernel workaround for this erratum - which sends an IPI to the CPUs that are running the same ASID - as the one being invalidated. - endmenu source "arch/arm/common/Kconfig" diff --git a/trunk/arch/arm/Kconfig.debug b/trunk/arch/arm/Kconfig.debug index 9b31f4311ea2..ecfcdba2d17c 100644 --- a/trunk/arch/arm/Kconfig.debug +++ b/trunk/arch/arm/Kconfig.debug @@ -495,7 +495,6 @@ config DEBUG_IMX_UART_PORT DEBUG_IMX53_UART || \ DEBUG_IMX6Q_UART default 1 - depends on ARCH_MXC help Choose UART port on which kernel low-level debug messages should be output. diff --git a/trunk/arch/arm/boot/dts/armada-370-mirabox.dts b/trunk/arch/arm/boot/dts/armada-370-mirabox.dts index 3234875824dc..dd0c57dd9f30 100644 --- a/trunk/arch/arm/boot/dts/armada-370-mirabox.dts +++ b/trunk/arch/arm/boot/dts/armada-370-mirabox.dts @@ -54,7 +54,7 @@ }; mvsdio@d00d4000 { - pinctrl-0 = <&sdio_pins3>; + pinctrl-0 = <&sdio_pins2>; pinctrl-names = "default"; status = "okay"; /* diff --git a/trunk/arch/arm/boot/dts/armada-370.dtsi b/trunk/arch/arm/boot/dts/armada-370.dtsi index a195debb67d3..8188d138020e 100644 --- a/trunk/arch/arm/boot/dts/armada-370.dtsi +++ b/trunk/arch/arm/boot/dts/armada-370.dtsi @@ -59,12 +59,6 @@ "mpp50", "mpp51", "mpp52"; marvell,function = "sd0"; }; - - sdio_pins3: sdio-pins3 { - marvell,pins = "mpp48", "mpp49", "mpp50", - "mpp51", "mpp52", "mpp53"; - marvell,function = "sd0"; - }; }; gpio0: gpio@d0018100 { diff --git a/trunk/arch/arm/boot/dts/dbx5x0.dtsi b/trunk/arch/arm/boot/dts/dbx5x0.dtsi index aaa63d0a8096..9de93096601a 100644 --- a/trunk/arch/arm/boot/dts/dbx5x0.dtsi +++ b/trunk/arch/arm/boot/dts/dbx5x0.dtsi @@ -191,8 +191,8 @@ prcmu: prcmu@80157000 { compatible = "stericsson,db8500-prcmu"; - reg = <0x80157000 0x1000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>; - reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm"; + reg = <0x80157000 0x1000>; + reg-names = "prcmu"; interrupts = <0 47 0x4>; #address-cells = <1>; #size-cells = <1>; diff --git a/trunk/arch/arm/boot/dts/kirkwood-goflexnet.dts b/trunk/arch/arm/boot/dts/kirkwood-goflexnet.dts index c3573be7b92c..bd83b8fc7c83 100644 --- a/trunk/arch/arm/boot/dts/kirkwood-goflexnet.dts +++ b/trunk/arch/arm/boot/dts/kirkwood-goflexnet.dts @@ -77,7 +77,6 @@ }; nand@3000000 { - chip-delay = <40>; status = "okay"; partition@0 { diff --git a/trunk/arch/arm/boot/dts/orion5x.dtsi b/trunk/arch/arm/boot/dts/orion5x.dtsi index f7bec3b1ba32..8aad00f81ed9 100644 --- a/trunk/arch/arm/boot/dts/orion5x.dtsi +++ b/trunk/arch/arm/boot/dts/orion5x.dtsi @@ -13,9 +13,6 @@ compatible = "marvell,orion5x"; interrupt-parent = <&intc>; - aliases { - gpio0 = &gpio0; - }; intc: interrupt-controller { compatible = "marvell,orion-intc", "marvell,intc"; interrupt-controller; @@ -35,9 +32,7 @@ #gpio-cells = <2>; gpio-controller; reg = <0x10100 0x40>; - ngpios = <32>; - interrupt-controller; - #interrupt-cells = <2>; + ngpio = <32>; interrupts = <6>, <7>, <8>, <9>; }; @@ -96,7 +91,7 @@ reg = <0x90000 0x10000>, <0xf2200000 0x800>; reg-names = "regs", "sram"; - interrupts = <28>; + interrupts = <22>; status = "okay"; }; }; diff --git a/trunk/arch/arm/boot/dts/tegra20.dtsi b/trunk/arch/arm/boot/dts/tegra20.dtsi index 3d3f64d2111a..48d00a099ce3 100644 --- a/trunk/arch/arm/boot/dts/tegra20.dtsi +++ b/trunk/arch/arm/boot/dts/tegra20.dtsi @@ -385,7 +385,7 @@ spi@7000d800 { compatible = "nvidia,tegra20-slink"; - reg = <0x7000d800 0x200>; + reg = <0x7000d480 0x200>; interrupts = <0 83 0x04>; nvidia,dma-request-selector = <&apbdma 17>; #address-cells = <1>; diff --git a/trunk/arch/arm/boot/dts/tegra30.dtsi b/trunk/arch/arm/boot/dts/tegra30.dtsi index dbf46c272562..9d87a3ffe998 100644 --- a/trunk/arch/arm/boot/dts/tegra30.dtsi +++ b/trunk/arch/arm/boot/dts/tegra30.dtsi @@ -372,7 +372,7 @@ spi@7000d800 { compatible = "nvidia,tegra30-slink", "nvidia,tegra20-slink"; - reg = <0x7000d800 0x200>; + reg = <0x7000d480 0x200>; interrupts = <0 83 0x04>; nvidia,dma-request-selector = <&apbdma 17>; #address-cells = <1>; diff --git a/trunk/arch/arm/include/asm/delay.h b/trunk/arch/arm/include/asm/delay.h index dff714d886d5..720799fd3a81 100644 --- a/trunk/arch/arm/include/asm/delay.h +++ b/trunk/arch/arm/include/asm/delay.h @@ -24,7 +24,7 @@ extern struct arm_delay_ops { void (*delay)(unsigned long); void (*const_udelay)(unsigned long); void (*udelay)(unsigned long); - unsigned long ticks_per_jiffy; + bool const_clock; } arm_delay_ops; #define __delay(n) arm_delay_ops.delay(n) diff --git a/trunk/arch/arm/include/asm/highmem.h b/trunk/arch/arm/include/asm/highmem.h index 91b99abe7a95..8c5e828f484d 100644 --- a/trunk/arch/arm/include/asm/highmem.h +++ b/trunk/arch/arm/include/asm/highmem.h @@ -41,13 +41,6 @@ extern void kunmap_high(struct page *page); #endif #endif -/* - * Needed to be able to broadcast the TLB invalidation for kmap. - */ -#ifdef CONFIG_ARM_ERRATA_798181 -#undef ARCH_NEEDS_KMAP_HIGH_GET -#endif - #ifdef ARCH_NEEDS_KMAP_HIGH_GET extern void *kmap_high_get(struct page *page); #else diff --git a/trunk/arch/arm/include/asm/mmu_context.h b/trunk/arch/arm/include/asm/mmu_context.h index a7b85e0d0cc1..863a6611323c 100644 --- a/trunk/arch/arm/include/asm/mmu_context.h +++ b/trunk/arch/arm/include/asm/mmu_context.h @@ -27,8 +27,6 @@ void __check_vmalloc_seq(struct mm_struct *mm); void check_and_switch_context(struct mm_struct *mm, struct task_struct *tsk); #define init_new_context(tsk,mm) ({ atomic64_set(&mm->context.id, 0); 0; }) -DECLARE_PER_CPU(atomic64_t, active_asids); - #else /* !CONFIG_CPU_HAS_ASID */ #ifdef CONFIG_MMU diff --git a/trunk/arch/arm/include/asm/tlbflush.h b/trunk/arch/arm/include/asm/tlbflush.h index 9e9c041358ca..4db8c8820f0d 100644 --- a/trunk/arch/arm/include/asm/tlbflush.h +++ b/trunk/arch/arm/include/asm/tlbflush.h @@ -450,21 +450,6 @@ static inline void local_flush_bp_all(void) isb(); } -#ifdef CONFIG_ARM_ERRATA_798181 -static inline void dummy_flush_tlb_a15_erratum(void) -{ - /* - * Dummy TLBIMVAIS. Using the unmapped address 0 and ASID 0. - */ - asm("mcr p15, 0, %0, c8, c3, 1" : : "r" (0)); - dsb(); -} -#else -static inline void dummy_flush_tlb_a15_erratum(void) -{ -} -#endif - /* * flush_pmd_entry * diff --git a/trunk/arch/arm/kernel/entry-common.S b/trunk/arch/arm/kernel/entry-common.S index fefd7f971437..3248cde504ed 100644 --- a/trunk/arch/arm/kernel/entry-common.S +++ b/trunk/arch/arm/kernel/entry-common.S @@ -276,13 +276,7 @@ ENDPROC(ftrace_graph_caller_old) */ .macro mcount_enter -/* - * This pad compensates for the push {lr} at the call site. Note that we are - * unable to unwind through a function which does not otherwise save its lr. - */ - UNWIND(.pad #4) stmdb sp!, {r0-r3, lr} - UNWIND(.save {r0-r3, lr}) .endm .macro mcount_get_lr reg @@ -295,7 +289,6 @@ ENDPROC(ftrace_graph_caller_old) .endm ENTRY(__gnu_mcount_nc) -UNWIND(.fnstart) #ifdef CONFIG_DYNAMIC_FTRACE mov ip, lr ldmia sp!, {lr} @@ -303,22 +296,17 @@ UNWIND(.fnstart) #else __mcount #endif -UNWIND(.fnend) ENDPROC(__gnu_mcount_nc) #ifdef CONFIG_DYNAMIC_FTRACE ENTRY(ftrace_caller) -UNWIND(.fnstart) __ftrace_caller -UNWIND(.fnend) ENDPROC(ftrace_caller) #endif #ifdef CONFIG_FUNCTION_GRAPH_TRACER ENTRY(ftrace_graph_caller) -UNWIND(.fnstart) __ftrace_graph_caller -UNWIND(.fnend) ENDPROC(ftrace_graph_caller) #endif diff --git a/trunk/arch/arm/kernel/head.S b/trunk/arch/arm/kernel/head.S index 8bac553fe213..e0eb9a1cae77 100644 --- a/trunk/arch/arm/kernel/head.S +++ b/trunk/arch/arm/kernel/head.S @@ -267,7 +267,7 @@ __create_page_tables: addne r6, r6, #1 << SECTION_SHIFT strne r6, [r3] -#if defined(CONFIG_ARM_LPAE) && defined(CONFIG_CPU_ENDIAN_BE8) +#if defined(CONFIG_LPAE) && defined(CONFIG_CPU_ENDIAN_BE8) sub r4, r4, #4 @ Fixup page table pointer @ for 64-bit descriptors #endif diff --git a/trunk/arch/arm/kernel/hw_breakpoint.c b/trunk/arch/arm/kernel/hw_breakpoint.c index 5dc1aa6f0f7d..96093b75ab90 100644 --- a/trunk/arch/arm/kernel/hw_breakpoint.c +++ b/trunk/arch/arm/kernel/hw_breakpoint.c @@ -966,7 +966,7 @@ static void reset_ctrl_regs(void *unused) } if (err) { - pr_warn_once("CPU %d debug is powered down!\n", cpu); + pr_warning("CPU %d debug is powered down!\n", cpu); cpumask_or(&debug_err_mask, &debug_err_mask, cpumask_of(cpu)); return; } @@ -987,7 +987,7 @@ static void reset_ctrl_regs(void *unused) isb(); if (cpumask_intersects(&debug_err_mask, cpumask_of(cpu))) { - pr_warn_once("CPU %d failed to disable vector catch\n", cpu); + pr_warning("CPU %d failed to disable vector catch\n", cpu); return; } @@ -1007,7 +1007,7 @@ static void reset_ctrl_regs(void *unused) } if (cpumask_intersects(&debug_err_mask, cpumask_of(cpu))) { - pr_warn_once("CPU %d failed to clear debug register pairs\n", cpu); + pr_warning("CPU %d failed to clear debug register pairs\n", cpu); return; } diff --git a/trunk/arch/arm/kernel/setup.c b/trunk/arch/arm/kernel/setup.c index d343a6c3a6d1..3f6cbb2e3eda 100644 --- a/trunk/arch/arm/kernel/setup.c +++ b/trunk/arch/arm/kernel/setup.c @@ -353,23 +353,6 @@ void __init early_print(const char *str, ...) printk("%s", buf); } -static void __init cpuid_init_hwcaps(void) -{ - unsigned int divide_instrs; - - if (cpu_architecture() < CPU_ARCH_ARMv7) - return; - - divide_instrs = (read_cpuid_ext(CPUID_EXT_ISAR0) & 0x0f000000) >> 24; - - switch (divide_instrs) { - case 2: - elf_hwcap |= HWCAP_IDIVA; - case 1: - elf_hwcap |= HWCAP_IDIVT; - } -} - static void __init feat_v6_fixup(void) { int id = read_cpuid_id(); @@ -500,11 +483,8 @@ static void __init setup_processor(void) snprintf(elf_platform, ELF_PLATFORM_SIZE, "%s%c", list->elf_name, ENDIANNESS); elf_hwcap = list->elf_hwcap; - - cpuid_init_hwcaps(); - #ifndef CONFIG_ARM_THUMB - elf_hwcap &= ~(HWCAP_THUMB | HWCAP_IDIVT); + elf_hwcap &= ~HWCAP_THUMB; #endif feat_v6_fixup(); @@ -544,7 +524,7 @@ int __init arm_add_memory(phys_addr_t start, phys_addr_t size) size -= start & ~PAGE_MASK; bank->start = PAGE_ALIGN(start); -#ifndef CONFIG_ARM_LPAE +#ifndef CONFIG_LPAE if (bank->start + size < bank->start) { printk(KERN_CRIT "Truncating memory at 0x%08llx to fit in " "32-bit physical address space\n", (long long)start); diff --git a/trunk/arch/arm/kernel/smp.c b/trunk/arch/arm/kernel/smp.c index 1f2ccccaf009..79078edbb9bc 100644 --- a/trunk/arch/arm/kernel/smp.c +++ b/trunk/arch/arm/kernel/smp.c @@ -673,6 +673,9 @@ static int cpufreq_callback(struct notifier_block *nb, if (freq->flags & CPUFREQ_CONST_LOOPS) return NOTIFY_OK; + if (arm_delay_ops.const_clock) + return NOTIFY_OK; + if (!per_cpu(l_p_j_ref, cpu)) { per_cpu(l_p_j_ref, cpu) = per_cpu(cpu_data, cpu).loops_per_jiffy; diff --git a/trunk/arch/arm/kernel/smp_tlb.c b/trunk/arch/arm/kernel/smp_tlb.c index e82e1d248772..bd0300531399 100644 --- a/trunk/arch/arm/kernel/smp_tlb.c +++ b/trunk/arch/arm/kernel/smp_tlb.c @@ -12,7 +12,6 @@ #include #include -#include /**********************************************************************/ @@ -70,72 +69,12 @@ static inline void ipi_flush_bp_all(void *ignored) local_flush_bp_all(); } -#ifdef CONFIG_ARM_ERRATA_798181 -static int erratum_a15_798181(void) -{ - unsigned int midr = read_cpuid_id(); - - /* Cortex-A15 r0p0..r3p2 affected */ - if ((midr & 0xff0ffff0) != 0x410fc0f0 || midr > 0x413fc0f2) - return 0; - return 1; -} -#else -static int erratum_a15_798181(void) -{ - return 0; -} -#endif - -static void ipi_flush_tlb_a15_erratum(void *arg) -{ - dmb(); -} - -static void broadcast_tlb_a15_erratum(void) -{ - if (!erratum_a15_798181()) - return; - - dummy_flush_tlb_a15_erratum(); - smp_call_function_many(cpu_online_mask, ipi_flush_tlb_a15_erratum, - NULL, 1); -} - -static void broadcast_tlb_mm_a15_erratum(struct mm_struct *mm) -{ - int cpu; - cpumask_t mask = { CPU_BITS_NONE }; - - if (!erratum_a15_798181()) - return; - - dummy_flush_tlb_a15_erratum(); - for_each_online_cpu(cpu) { - if (cpu == smp_processor_id()) - continue; - /* - * We only need to send an IPI if the other CPUs are running - * the same ASID as the one being invalidated. There is no - * need for locking around the active_asids check since the - * switch_mm() function has at least one dmb() (as required by - * this workaround) in case a context switch happens on - * another CPU after the condition below. - */ - if (atomic64_read(&mm->context.id) == - atomic64_read(&per_cpu(active_asids, cpu))) - cpumask_set_cpu(cpu, &mask); - } - smp_call_function_many(&mask, ipi_flush_tlb_a15_erratum, NULL, 1); -} - void flush_tlb_all(void) { if (tlb_ops_need_broadcast()) on_each_cpu(ipi_flush_tlb_all, NULL, 1); else local_flush_tlb_all(); - broadcast_tlb_a15_erratum(); } void flush_tlb_mm(struct mm_struct *mm) @@ -144,7 +83,6 @@ void flush_tlb_mm(struct mm_struct *mm) on_each_cpu_mask(mm_cpumask(mm), ipi_flush_tlb_mm, mm, 1); else local_flush_tlb_mm(mm); - broadcast_tlb_mm_a15_erratum(mm); } void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) @@ -157,7 +95,6 @@ void flush_tlb_page(struct vm_area_struct *vma, unsigned long uaddr) &ta, 1); } else local_flush_tlb_page(vma, uaddr); - broadcast_tlb_mm_a15_erratum(vma->vm_mm); } void flush_tlb_kernel_page(unsigned long kaddr) @@ -168,7 +105,6 @@ void flush_tlb_kernel_page(unsigned long kaddr) on_each_cpu(ipi_flush_tlb_kernel_page, &ta, 1); } else local_flush_tlb_kernel_page(kaddr); - broadcast_tlb_a15_erratum(); } void flush_tlb_range(struct vm_area_struct *vma, @@ -183,7 +119,6 @@ void flush_tlb_range(struct vm_area_struct *vma, &ta, 1); } else local_flush_tlb_range(vma, start, end); - broadcast_tlb_mm_a15_erratum(vma->vm_mm); } void flush_tlb_kernel_range(unsigned long start, unsigned long end) @@ -195,7 +130,6 @@ void flush_tlb_kernel_range(unsigned long start, unsigned long end) on_each_cpu(ipi_flush_tlb_kernel_range, &ta, 1); } else local_flush_tlb_kernel_range(start, end); - broadcast_tlb_a15_erratum(); } void flush_bp_all(void) diff --git a/trunk/arch/arm/kvm/vgic.c b/trunk/arch/arm/kvm/vgic.c index 0e4cfe123b38..c9a17316e9fe 100644 --- a/trunk/arch/arm/kvm/vgic.c +++ b/trunk/arch/arm/kvm/vgic.c @@ -883,7 +883,8 @@ static bool vgic_queue_irq(struct kvm_vcpu *vcpu, u8 sgi_source_id, int irq) lr, irq, vgic_cpu->vgic_lr[lr]); BUG_ON(!test_bit(lr, vgic_cpu->lr_used)); vgic_cpu->vgic_lr[lr] |= GICH_LR_PENDING_BIT; - return true; + + goto out; } /* Try to use another LR for this interrupt */ @@ -897,6 +898,7 @@ static bool vgic_queue_irq(struct kvm_vcpu *vcpu, u8 sgi_source_id, int irq) vgic_cpu->vgic_irq_lr_map[irq] = lr; set_bit(lr, vgic_cpu->lr_used); +out: if (!vgic_irq_is_edge(vcpu, irq)) vgic_cpu->vgic_lr[lr] |= GICH_LR_EOI; @@ -1016,6 +1018,21 @@ static bool vgic_process_maintenance(struct kvm_vcpu *vcpu) kvm_debug("MISR = %08x\n", vgic_cpu->vgic_misr); + /* + * We do not need to take the distributor lock here, since the only + * action we perform is clearing the irq_active_bit for an EOIed + * level interrupt. There is a potential race with + * the queuing of an interrupt in __kvm_vgic_flush_hwstate(), where we + * check if the interrupt is already active. Two possibilities: + * + * - The queuing is occurring on the same vcpu: cannot happen, + * as we're already in the context of this vcpu, and + * executing the handler + * - The interrupt has been migrated to another vcpu, and we + * ignore this interrupt for this run. Big deal. It is still + * pending though, and will get considered when this vcpu + * exits. + */ if (vgic_cpu->vgic_misr & GICH_MISR_EOI) { /* * Some level interrupts have been EOIed. Clear their @@ -1037,13 +1054,6 @@ static bool vgic_process_maintenance(struct kvm_vcpu *vcpu) } else { vgic_cpu_irq_clear(vcpu, irq); } - - /* - * Despite being EOIed, the LR may not have - * been marked as empty. - */ - set_bit(lr, (unsigned long *)vgic_cpu->vgic_elrsr); - vgic_cpu->vgic_lr[lr] &= ~GICH_LR_ACTIVE_BIT; } } @@ -1054,8 +1064,9 @@ static bool vgic_process_maintenance(struct kvm_vcpu *vcpu) } /* - * Sync back the VGIC state after a guest run. The distributor lock is - * needed so we don't get preempted in the middle of the state processing. + * Sync back the VGIC state after a guest run. We do not really touch + * the distributor here (the irq_pending_on_cpu bit is safe to set), + * so there is no need for taking its lock. */ static void __kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu) { @@ -1101,14 +1112,10 @@ void kvm_vgic_flush_hwstate(struct kvm_vcpu *vcpu) void kvm_vgic_sync_hwstate(struct kvm_vcpu *vcpu) { - struct vgic_dist *dist = &vcpu->kvm->arch.vgic; - if (!irqchip_in_kernel(vcpu->kvm)) return; - spin_lock(&dist->lock); __kvm_vgic_sync_hwstate(vcpu); - spin_unlock(&dist->lock); } int kvm_vgic_vcpu_pending_irq(struct kvm_vcpu *vcpu) diff --git a/trunk/arch/arm/lib/delay.c b/trunk/arch/arm/lib/delay.c index 64dbfa57204a..6b93f6a1a3c7 100644 --- a/trunk/arch/arm/lib/delay.c +++ b/trunk/arch/arm/lib/delay.c @@ -58,7 +58,7 @@ static void __timer_delay(unsigned long cycles) static void __timer_const_udelay(unsigned long xloops) { unsigned long long loops = xloops; - loops *= arm_delay_ops.ticks_per_jiffy; + loops *= loops_per_jiffy; __timer_delay(loops >> UDELAY_SHIFT); } @@ -73,13 +73,11 @@ void __init register_current_timer_delay(const struct delay_timer *timer) pr_info("Switching to timer-based delay loop\n"); delay_timer = timer; lpj_fine = timer->freq / HZ; - - /* cpufreq may scale loops_per_jiffy, so keep a private copy */ - arm_delay_ops.ticks_per_jiffy = lpj_fine; + loops_per_jiffy = lpj_fine; arm_delay_ops.delay = __timer_delay; arm_delay_ops.const_udelay = __timer_const_udelay; arm_delay_ops.udelay = __timer_udelay; - + arm_delay_ops.const_clock = true; delay_calibrated = true; } else { pr_info("Ignoring duplicate/late registration of read_current_timer delay\n"); diff --git a/trunk/arch/arm/mach-cns3xxx/core.c b/trunk/arch/arm/mach-cns3xxx/core.c index 52e4bb5cf12d..e698f26cc0cb 100644 --- a/trunk/arch/arm/mach-cns3xxx/core.c +++ b/trunk/arch/arm/mach-cns3xxx/core.c @@ -22,9 +22,19 @@ static struct map_desc cns3xxx_io_desc[] __initdata = { { - .virtual = CNS3XXX_TC11MP_SCU_BASE_VIRT, - .pfn = __phys_to_pfn(CNS3XXX_TC11MP_SCU_BASE), - .length = SZ_8K, + .virtual = CNS3XXX_TC11MP_TWD_BASE_VIRT, + .pfn = __phys_to_pfn(CNS3XXX_TC11MP_TWD_BASE), + .length = SZ_4K, + .type = MT_DEVICE, + }, { + .virtual = CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT, + .pfn = __phys_to_pfn(CNS3XXX_TC11MP_GIC_CPU_BASE), + .length = SZ_4K, + .type = MT_DEVICE, + }, { + .virtual = CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT, + .pfn = __phys_to_pfn(CNS3XXX_TC11MP_GIC_DIST_BASE), + .length = SZ_4K, .type = MT_DEVICE, }, { .virtual = CNS3XXX_TIMER1_2_3_BASE_VIRT, diff --git a/trunk/arch/arm/mach-cns3xxx/include/mach/cns3xxx.h b/trunk/arch/arm/mach-cns3xxx/include/mach/cns3xxx.h index b1021aafa481..191c8e57f289 100644 --- a/trunk/arch/arm/mach-cns3xxx/include/mach/cns3xxx.h +++ b/trunk/arch/arm/mach-cns3xxx/include/mach/cns3xxx.h @@ -94,10 +94,10 @@ #define RTC_INTR_STS_OFFSET 0x34 #define CNS3XXX_MISC_BASE 0x76000000 /* Misc Control */ -#define CNS3XXX_MISC_BASE_VIRT 0xFB000000 /* Misc Control */ +#define CNS3XXX_MISC_BASE_VIRT 0xFFF07000 /* Misc Control */ #define CNS3XXX_PM_BASE 0x77000000 /* Power Management Control */ -#define CNS3XXX_PM_BASE_VIRT 0xFB001000 +#define CNS3XXX_PM_BASE_VIRT 0xFFF08000 #define PM_CLK_GATE_OFFSET 0x00 #define PM_SOFT_RST_OFFSET 0x04 @@ -109,7 +109,7 @@ #define PM_PLL_HM_PD_OFFSET 0x1C #define CNS3XXX_UART0_BASE 0x78000000 /* UART 0 */ -#define CNS3XXX_UART0_BASE_VIRT 0xFB002000 +#define CNS3XXX_UART0_BASE_VIRT 0xFFF09000 #define CNS3XXX_UART1_BASE 0x78400000 /* UART 1 */ #define CNS3XXX_UART1_BASE_VIRT 0xFFF0A000 @@ -130,7 +130,7 @@ #define CNS3XXX_I2S_BASE_VIRT 0xFFF10000 #define CNS3XXX_TIMER1_2_3_BASE 0x7C800000 /* Timer */ -#define CNS3XXX_TIMER1_2_3_BASE_VIRT 0xFB003000 +#define CNS3XXX_TIMER1_2_3_BASE_VIRT 0xFFF10800 #define TIMER1_COUNTER_OFFSET 0x00 #define TIMER1_AUTO_RELOAD_OFFSET 0x04 @@ -227,16 +227,16 @@ * Testchip peripheral and fpga gic regions */ #define CNS3XXX_TC11MP_SCU_BASE 0x90000000 /* IRQ, Test chip */ -#define CNS3XXX_TC11MP_SCU_BASE_VIRT 0xFB004000 +#define CNS3XXX_TC11MP_SCU_BASE_VIRT 0xFF000000 #define CNS3XXX_TC11MP_GIC_CPU_BASE 0x90000100 /* Test chip interrupt controller CPU interface */ -#define CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT (CNS3XXX_TC11MP_SCU_BASE_VIRT + 0x100) +#define CNS3XXX_TC11MP_GIC_CPU_BASE_VIRT 0xFF000100 #define CNS3XXX_TC11MP_TWD_BASE 0x90000600 -#define CNS3XXX_TC11MP_TWD_BASE_VIRT (CNS3XXX_TC11MP_SCU_BASE_VIRT + 0x600) +#define CNS3XXX_TC11MP_TWD_BASE_VIRT 0xFF000600 #define CNS3XXX_TC11MP_GIC_DIST_BASE 0x90001000 /* Test chip interrupt controller distributor */ -#define CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT (CNS3XXX_TC11MP_SCU_BASE_VIRT + 0x1000) +#define CNS3XXX_TC11MP_GIC_DIST_BASE_VIRT 0xFF001000 #define CNS3XXX_TC11MP_L220_BASE 0x92002000 /* L220 registers */ #define CNS3XXX_TC11MP_L220_BASE_VIRT 0xFF002000 diff --git a/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h b/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h index b5cc77d2380b..d2afb4dd82ab 100644 --- a/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h +++ b/trunk/arch/arm/mach-ep93xx/include/mach/uncompress.h @@ -47,13 +47,9 @@ static void __raw_writel(unsigned int value, unsigned int ptr) static inline void putc(int c) { - int i; - - for (i = 0; i < 10000; i++) { - /* Transmit fifo not full? */ - if (!(__raw_readb(PHYS_UART_FLAG) & UART_FLAG_TXFF)) - break; - } + /* Transmit fifo not full? */ + while (__raw_readb(PHYS_UART_FLAG) & UART_FLAG_TXFF) + ; __raw_writeb(c, PHYS_UART_DATA); } diff --git a/trunk/arch/arm/mach-imx/common.h b/trunk/arch/arm/mach-imx/common.h index 5bf4a97ab241..5a800bfcec5b 100644 --- a/trunk/arch/arm/mach-imx/common.h +++ b/trunk/arch/arm/mach-imx/common.h @@ -110,8 +110,6 @@ void tzic_handle_irq(struct pt_regs *); extern void imx_enable_cpu(int cpu, bool enable); extern void imx_set_cpu_jump(int cpu, void *jump_addr); -extern u32 imx_get_cpu_arg(int cpu); -extern void imx_set_cpu_arg(int cpu, u32 arg); extern void v7_cpu_resume(void); extern u32 *pl310_get_save_ptr(void); #ifdef CONFIG_SMP diff --git a/trunk/arch/arm/mach-imx/hotplug.c b/trunk/arch/arm/mach-imx/hotplug.c index 361a253e2b63..7bc5fe15dda2 100644 --- a/trunk/arch/arm/mach-imx/hotplug.c +++ b/trunk/arch/arm/mach-imx/hotplug.c @@ -46,23 +46,11 @@ static inline void cpu_enter_lowpower(void) void imx_cpu_die(unsigned int cpu) { cpu_enter_lowpower(); - /* - * We use the cpu jumping argument register to sync with - * imx_cpu_kill() which is running on cpu0 and waiting for - * the register being cleared to kill the cpu. - */ - imx_set_cpu_arg(cpu, ~0); cpu_do_idle(); } int imx_cpu_kill(unsigned int cpu) { - unsigned long timeout = jiffies + msecs_to_jiffies(50); - - while (imx_get_cpu_arg(cpu) == 0) - if (time_after(jiffies, timeout)) - return 0; imx_enable_cpu(cpu, false); - imx_set_cpu_arg(cpu, 0); return 1; } diff --git a/trunk/arch/arm/mach-imx/src.c b/trunk/arch/arm/mach-imx/src.c index 09a742f8c7ab..e15f1555c59b 100644 --- a/trunk/arch/arm/mach-imx/src.c +++ b/trunk/arch/arm/mach-imx/src.c @@ -43,18 +43,6 @@ void imx_set_cpu_jump(int cpu, void *jump_addr) src_base + SRC_GPR1 + cpu * 8); } -u32 imx_get_cpu_arg(int cpu) -{ - cpu = cpu_logical_map(cpu); - return readl_relaxed(src_base + SRC_GPR1 + cpu * 8 + 4); -} - -void imx_set_cpu_arg(int cpu, u32 arg) -{ - cpu = cpu_logical_map(cpu); - writel_relaxed(arg, src_base + SRC_GPR1 + cpu * 8 + 4); -} - void imx_src_prepare_restart(void) { u32 val; diff --git a/trunk/arch/arm/mach-kirkwood/guruplug-setup.c b/trunk/arch/arm/mach-kirkwood/guruplug-setup.c index 08dd739aa709..1c6e736cbbf8 100644 --- a/trunk/arch/arm/mach-kirkwood/guruplug-setup.c +++ b/trunk/arch/arm/mach-kirkwood/guruplug-setup.c @@ -53,8 +53,6 @@ static struct mv_sata_platform_data guruplug_sata_data = { static struct mvsdio_platform_data guruplug_mvsdio_data = { /* unfortunately the CD signal has not been connected */ - .gpio_card_detect = -1, - .gpio_write_protect = -1, }; static struct gpio_led guruplug_led_pins[] = { diff --git a/trunk/arch/arm/mach-kirkwood/openrd-setup.c b/trunk/arch/arm/mach-kirkwood/openrd-setup.c index 6a6eb548307d..8ddd69fdc937 100644 --- a/trunk/arch/arm/mach-kirkwood/openrd-setup.c +++ b/trunk/arch/arm/mach-kirkwood/openrd-setup.c @@ -55,7 +55,6 @@ static struct mv_sata_platform_data openrd_sata_data = { static struct mvsdio_platform_data openrd_mvsdio_data = { .gpio_card_detect = 29, /* MPP29 used as SD card detect */ - .gpio_write_protect = -1, }; static unsigned int openrd_mpp_config[] __initdata = { diff --git a/trunk/arch/arm/mach-kirkwood/rd88f6281-setup.c b/trunk/arch/arm/mach-kirkwood/rd88f6281-setup.c index d24223166e06..c7d93b48926b 100644 --- a/trunk/arch/arm/mach-kirkwood/rd88f6281-setup.c +++ b/trunk/arch/arm/mach-kirkwood/rd88f6281-setup.c @@ -69,7 +69,6 @@ static struct mv_sata_platform_data rd88f6281_sata_data = { static struct mvsdio_platform_data rd88f6281_mvsdio_data = { .gpio_card_detect = 28, - .gpio_write_protect = -1, }; static unsigned int rd88f6281_mpp_config[] __initdata = { diff --git a/trunk/arch/arm/mach-msm/timer.c b/trunk/arch/arm/mach-msm/timer.c index f9fd77e8f1f5..2969027f02fa 100644 --- a/trunk/arch/arm/mach-msm/timer.c +++ b/trunk/arch/arm/mach-msm/timer.c @@ -62,10 +62,7 @@ static int msm_timer_set_next_event(unsigned long cycles, { u32 ctrl = readl_relaxed(event_base + TIMER_ENABLE); - ctrl &= ~TIMER_ENABLE_EN; - writel_relaxed(ctrl, event_base + TIMER_ENABLE); - - writel_relaxed(ctrl, event_base + TIMER_CLEAR); + writel_relaxed(0, event_base + TIMER_CLEAR); writel_relaxed(cycles, event_base + TIMER_MATCH_VAL); writel_relaxed(ctrl | TIMER_ENABLE_EN, event_base + TIMER_ENABLE); return 0; diff --git a/trunk/arch/arm/mach-mvebu/irq-armada-370-xp.c b/trunk/arch/arm/mach-mvebu/irq-armada-370-xp.c index 6a9195e10579..274ff58271de 100644 --- a/trunk/arch/arm/mach-mvebu/irq-armada-370-xp.c +++ b/trunk/arch/arm/mach-mvebu/irq-armada-370-xp.c @@ -44,8 +44,6 @@ #define ARMADA_370_XP_MAX_PER_CPU_IRQS (28) -#define ARMADA_370_XP_TIMER0_PER_CPU_IRQ (5) - #define ACTIVE_DOORBELLS (8) static DEFINE_RAW_SPINLOCK(irq_controller_lock); @@ -64,7 +62,7 @@ static void armada_370_xp_irq_mask(struct irq_data *d) #ifdef CONFIG_SMP irq_hw_number_t hwirq = irqd_to_hwirq(d); - if (hwirq != ARMADA_370_XP_TIMER0_PER_CPU_IRQ) + if (hwirq > ARMADA_370_XP_MAX_PER_CPU_IRQS) writel(hwirq, main_int_base + ARMADA_370_XP_INT_CLEAR_ENABLE_OFFS); else @@ -81,7 +79,7 @@ static void armada_370_xp_irq_unmask(struct irq_data *d) #ifdef CONFIG_SMP irq_hw_number_t hwirq = irqd_to_hwirq(d); - if (hwirq != ARMADA_370_XP_TIMER0_PER_CPU_IRQ) + if (hwirq > ARMADA_370_XP_MAX_PER_CPU_IRQS) writel(hwirq, main_int_base + ARMADA_370_XP_INT_SET_ENABLE_OFFS); else @@ -149,7 +147,7 @@ static int armada_370_xp_mpic_irq_map(struct irq_domain *h, writel(hw, main_int_base + ARMADA_370_XP_INT_SET_ENABLE_OFFS); irq_set_status_flags(virq, IRQ_LEVEL); - if (hw == ARMADA_370_XP_TIMER0_PER_CPU_IRQ) { + if (hw < ARMADA_370_XP_MAX_PER_CPU_IRQS) { irq_set_percpu_devid(virq); irq_set_chip_and_handler(virq, &armada_370_xp_irq_chip, handle_percpu_devid_irq); diff --git a/trunk/arch/arm/mach-mxs/mach-mxs.c b/trunk/arch/arm/mach-mxs/mach-mxs.c index e7b781d3788f..3218f1f2c0e0 100644 --- a/trunk/arch/arm/mach-mxs/mach-mxs.c +++ b/trunk/arch/arm/mach-mxs/mach-mxs.c @@ -41,6 +41,8 @@ static struct fb_videomode mx23evk_video_modes[] = { .lower_margin = 4, .hsync_len = 1, .vsync_len = 1, + .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT | + FB_SYNC_DOTCLK_FAILING_ACT, }, }; @@ -57,6 +59,8 @@ static struct fb_videomode mx28evk_video_modes[] = { .lower_margin = 10, .hsync_len = 10, .vsync_len = 10, + .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT | + FB_SYNC_DOTCLK_FAILING_ACT, }, }; @@ -73,6 +77,7 @@ static struct fb_videomode m28evk_video_modes[] = { .lower_margin = 45, .hsync_len = 1, .vsync_len = 1, + .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT, }, }; @@ -89,7 +94,9 @@ static struct fb_videomode apx4devkit_video_modes[] = { .lower_margin = 13, .hsync_len = 48, .vsync_len = 3, - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT | + FB_SYNC_DATA_ENABLE_HIGH_ACT | + FB_SYNC_DOTCLK_FAILING_ACT, }, }; @@ -106,7 +113,9 @@ static struct fb_videomode apf28dev_video_modes[] = { .lower_margin = 0x15, .hsync_len = 64, .vsync_len = 4, - .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT, + .sync = FB_SYNC_HOR_HIGH_ACT | FB_SYNC_VERT_HIGH_ACT | + FB_SYNC_DATA_ENABLE_HIGH_ACT | + FB_SYNC_DOTCLK_FAILING_ACT, }, }; @@ -123,6 +132,7 @@ static struct fb_videomode cfa10049_video_modes[] = { .lower_margin = 2, .hsync_len = 15, .vsync_len = 15, + .sync = FB_SYNC_DATA_ENABLE_HIGH_ACT }, }; @@ -249,8 +259,6 @@ static void __init imx23_evk_init(void) mxsfb_pdata.mode_count = ARRAY_SIZE(mx23evk_video_modes); mxsfb_pdata.default_bpp = 32; mxsfb_pdata.ld_intf_width = STMLCDIF_24BIT; - mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | - MXSFB_SYNC_DOTCLK_FAILING_ACT; } static inline void enable_clk_enet_out(void) @@ -270,8 +278,6 @@ static void __init imx28_evk_init(void) mxsfb_pdata.mode_count = ARRAY_SIZE(mx28evk_video_modes); mxsfb_pdata.default_bpp = 32; mxsfb_pdata.ld_intf_width = STMLCDIF_24BIT; - mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | - MXSFB_SYNC_DOTCLK_FAILING_ACT; mxs_saif_clkmux_select(MXS_DIGCTL_SAIF_CLKMUX_EXTMSTR0); } @@ -291,7 +297,6 @@ static void __init m28evk_init(void) mxsfb_pdata.mode_count = ARRAY_SIZE(m28evk_video_modes); mxsfb_pdata.default_bpp = 16; mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; - mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT; } static void __init sc_sps1_init(void) @@ -317,8 +322,6 @@ static void __init apx4devkit_init(void) mxsfb_pdata.mode_count = ARRAY_SIZE(apx4devkit_video_modes); mxsfb_pdata.default_bpp = 32; mxsfb_pdata.ld_intf_width = STMLCDIF_24BIT; - mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | - MXSFB_SYNC_DOTCLK_FAILING_ACT; } #define ENET0_MDC__GPIO_4_0 MXS_GPIO_NR(4, 0) @@ -404,7 +407,6 @@ static void __init cfa10049_init(void) mxsfb_pdata.mode_count = ARRAY_SIZE(cfa10049_video_modes); mxsfb_pdata.default_bpp = 32; mxsfb_pdata.ld_intf_width = STMLCDIF_18BIT; - mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT; } static void __init cfa10037_init(void) @@ -421,8 +423,6 @@ static void __init apf28_init(void) mxsfb_pdata.mode_count = ARRAY_SIZE(apf28dev_video_modes); mxsfb_pdata.default_bpp = 16; mxsfb_pdata.ld_intf_width = STMLCDIF_16BIT; - mxsfb_pdata.sync = MXSFB_SYNC_DATA_ENABLE_HIGH_ACT | - MXSFB_SYNC_DOTCLK_FAILING_ACT; } static void __init mxs_machine_init(void) diff --git a/trunk/arch/arm/mach-omap1/clock_data.c b/trunk/arch/arm/mach-omap1/clock_data.c index 6c4f766365a2..cb7c6ae2e3fc 100644 --- a/trunk/arch/arm/mach-omap1/clock_data.c +++ b/trunk/arch/arm/mach-omap1/clock_data.c @@ -538,6 +538,15 @@ static struct clk usb_hhc_ck16xx = { }; static struct clk usb_dc_ck = { + .name = "usb_dc_ck", + .ops = &clkops_generic, + /* Direct from ULPD, no parent */ + .rate = 48000000, + .enable_reg = OMAP1_IO_ADDRESS(SOFT_REQ_REG), + .enable_bit = USB_REQ_EN_SHIFT, +}; + +static struct clk usb_dc_ck7xx = { .name = "usb_dc_ck", .ops = &clkops_generic, /* Direct from ULPD, no parent */ @@ -718,7 +727,8 @@ static struct omap_clk omap_clks[] = { CLK(NULL, "usb_clko", &usb_clko, CK_16XX | CK_1510 | CK_310), CLK(NULL, "usb_hhc_ck", &usb_hhc_ck1510, CK_1510 | CK_310), CLK(NULL, "usb_hhc_ck", &usb_hhc_ck16xx, CK_16XX), - CLK(NULL, "usb_dc_ck", &usb_dc_ck, CK_16XX | CK_7XX), + CLK(NULL, "usb_dc_ck", &usb_dc_ck, CK_16XX), + CLK(NULL, "usb_dc_ck", &usb_dc_ck7xx, CK_7XX), CLK(NULL, "mclk", &mclk_1510, CK_1510 | CK_310), CLK(NULL, "mclk", &mclk_16xx, CK_16XX), CLK(NULL, "bclk", &bclk_1510, CK_1510 | CK_310), diff --git a/trunk/arch/arm/mach-omap2/board-2430sdp.c b/trunk/arch/arm/mach-omap2/board-2430sdp.c index 1322ed707b30..a3e0aaa4886b 100644 --- a/trunk/arch/arm/mach-omap2/board-2430sdp.c +++ b/trunk/arch/arm/mach-omap2/board-2430sdp.c @@ -38,7 +38,7 @@ #include "gpmc-smc91x.h" #include