Skip to content

Commit

Permalink
Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/lin…
Browse files Browse the repository at this point in the history
…ux/kernel/git/arnd/asm-generic

Pull asm-generic cleanups from Arnd Bergmann:
 "The asm-generic changes for 4.4 are mostly a series from Christoph
  Hellwig to clean up various abuses of headers in there.  The patch to
  rename the io-64-nonatomic-*.h headers caused some conflicts with new
  users, so I added a workaround that we can remove in the next merge
  window.

  The only other patch is a warning fix from Marek Vasut"

* tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  asm-generic: temporarily add back asm-generic/io-64-nonatomic*.h
  asm-generic: cmpxchg: avoid warnings from macro-ized cmpxchg() implementations
  gpio-mxc: stop including <asm-generic/bug>
  n_tracesink: stop including <asm-generic/bug>
  n_tracerouter: stop including <asm-generic/bug>
  mlx5: stop including <asm-generic/kmap_types.h>
  hifn_795x: stop including <asm-generic/kmap_types.h>
  drbd: stop including <asm-generic/kmap_types.h>
  move count_zeroes.h out of asm-generic
  move io-64-nonatomic*.h out of asm-generic
  • Loading branch information
torvalds committed Nov 6, 2015
2 parents 22402cd + 4008cb3 commit 9cf5c09
Show file tree
Hide file tree
Showing 32 changed files with 103 additions and 100 deletions.
2 changes: 1 addition & 1 deletion drivers/acpi/nfit.c
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
* For readq() and writeq() on 32-bit builds, the hi-lo, lo-hi order is
* irrelevant.
*/
#include <asm-generic/io-64-nonatomic-hi-lo.h>
#include <linux/io-64-nonatomic-hi-lo.h>

static bool force_enable_dimms;
module_param(force_enable_dimms, bool, S_IRUGO|S_IWUSR);
Expand Down
2 changes: 1 addition & 1 deletion drivers/acpi/osl.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@

#include <asm/io.h>
#include <asm/uaccess.h>
#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

#include "internal.h"

Expand Down
2 changes: 1 addition & 1 deletion drivers/block/drbd/drbd_bitmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
#include <linux/string.h>
#include <linux/drbd.h>
#include <linux/slab.h>
#include <asm/kmap_types.h>
#include <linux/highmem.h>

#include "drbd_int.h"

Expand Down
2 changes: 0 additions & 2 deletions drivers/crypto/hifn_795x.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@
#include <crypto/algapi.h>
#include <crypto/des.h>

#include <asm/kmap_types.h>

//#define HIFN_DEBUG

#ifdef HIFN_DEBUG
Expand Down
2 changes: 1 addition & 1 deletion drivers/edac/i3200_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <linux/io.h>
#include "edac_core.h"

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

#define I3200_REVISION "1.1"

Expand Down
2 changes: 1 addition & 1 deletion drivers/edac/ie31200_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
#include <linux/pci_ids.h>
#include <linux/edac.h>

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include "edac_core.h"

#define IE31200_REVISION "1.0"
Expand Down
2 changes: 1 addition & 1 deletion drivers/edac/x38_edac.c
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <linux/pci_ids.h>
#include <linux/edac.h>

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include "edac_core.h"

#define X38_REVISION "1.1"
Expand Down
2 changes: 1 addition & 1 deletion drivers/gpio/gpio-mxc.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include <linux/of.h>
#include <linux/of_device.h>
#include <linux/module.h>
#include <asm-generic/bug.h>
#include <linux/bug.h>

enum mxc_gpio_hwtype {
IMX1_GPIO, /* runs on i.mx1 */
Expand Down
2 changes: 1 addition & 1 deletion drivers/i2c/busses/i2c-ismt.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
#include <linux/acpi.h>
#include <linux/interrupt.h>

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

/* PCI Address Constants */
#define SMBBAR 0
Expand Down
2 changes: 1 addition & 1 deletion drivers/infiniband/hw/mlx5/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* SOFTWARE.
*/

#include <asm-generic/kmap_types.h>
#include <linux/highmem.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/errno.h>
Expand Down
3 changes: 1 addition & 2 deletions drivers/mfd/intel-lpss.c
Original file line number Diff line number Diff line change
Expand Up @@ -25,8 +25,7 @@
#include <linux/pm_qos.h>
#include <linux/pm_runtime.h>
#include <linux/seq_file.h>

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

#include "intel-lpss.h"

Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/i40e/i40e_osdep.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
#include <linux/highuid.h>

/* get readq/writeq support for 32 bit kernels, use the low-first version */
#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

/* File to be the magic between shared code and
* actual OS primitives
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/intel/i40evf/i40e_osdep.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include <linux/pci.h>

/* get readq/writeq support for 32 bit kernels, use the low-first version */
#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

/* File to be the magic between shared code and
* actual OS primitives
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/mellanox/mlx5/core/cmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* SOFTWARE.
*/

#include <asm-generic/kmap_types.h>
#include <linux/highmem.h>
#include <linux/module.h>
#include <linux/errno.h>
#include <linux/pci.h>
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/mellanox/mlx5/core/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* SOFTWARE.
*/

#include <asm-generic/kmap_types.h>
#include <linux/highmem.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/errno.h>
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
* SOFTWARE.
*/

#include <asm-generic/kmap_types.h>
#include <linux/highmem.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/mlx5/driver.h>
Expand Down
2 changes: 1 addition & 1 deletion drivers/net/ethernet/rocker/rocker.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
#include <net/ip_fib.h>
#include <net/netevent.h>
#include <net/arp.h>
#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include <generated/utsrelease.h>

#include "rocker.h"
Expand Down
2 changes: 1 addition & 1 deletion drivers/nvme/host/pci.c
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
#include <linux/types.h>
#include <linux/pr.h>
#include <scsi/sg.h>
#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include <asm/unaligned.h>

#include <uapi/linux/nvme_ioctl.h>
Expand Down
2 changes: 1 addition & 1 deletion drivers/platform/x86/ibm_rtl.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
#include <linux/mutex.h>
#include <asm/bios_ebda.h>

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

static bool force;
module_param(force, bool, 0);
Expand Down
2 changes: 1 addition & 1 deletion drivers/platform/x86/intel_ips.c
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@
#include <asm/processor.h>
#include "intel_ips.h"

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

#define PCI_DEVICE_ID_INTEL_THERMAL_SENSOR 0x3b32

Expand Down
2 changes: 1 addition & 1 deletion drivers/scsi/qla4xxx/ql4_nx.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@
#include "ql4_glbl.h"
#include "ql4_inline.h"

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

#define TIMEOUT_100_MS 100
#define MASK(n) DMA_BIT_MASK(n)
Expand Down
2 changes: 1 addition & 1 deletion drivers/tty/n_tracerouter.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include <linux/string.h>
#include <linux/mutex.h>
#include <linux/slab.h>
#include <asm-generic/bug.h>
#include <linux/bug.h>
#include "n_tracesink.h"

/*
Expand Down
2 changes: 1 addition & 1 deletion drivers/tty/n_tracesink.c
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@
#include <linux/tty_ldisc.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <asm-generic/bug.h>
#include <linux/bug.h>
#include "n_tracesink.h"

/*
Expand Down
3 changes: 1 addition & 2 deletions drivers/usb/host/xhci.h
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,7 @@
#include <linux/timer.h>
#include <linux/kernel.h>
#include <linux/usb/hcd.h>

#include <asm-generic/io-64-nonatomic-lo-hi.h>
#include <linux/io-64-nonatomic-lo-hi.h>

/* Code sharing between pci-quirks and xhci hcd */
#include "xhci-ext-caps.h"
Expand Down
11 changes: 7 additions & 4 deletions include/asm-generic/cmpxchg.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,8 +79,10 @@ unsigned long __xchg(unsigned long x, volatile void *ptr, int size)
}
}

#define xchg(ptr, x) \
((__typeof__(*(ptr))) __xchg((unsigned long)(x), (ptr), sizeof(*(ptr))))
#define xchg(ptr, x) ({ \
((__typeof__(*(ptr))) \
__xchg((unsigned long)(x), (ptr), sizeof(*(ptr)))); \
})

#endif /* xchg */

Expand All @@ -90,9 +92,10 @@ unsigned long __xchg(unsigned long x, volatile void *ptr, int size)
#include <asm-generic/cmpxchg-local.h>

#ifndef cmpxchg_local
#define cmpxchg_local(ptr, o, n) \
#define cmpxchg_local(ptr, o, n) ({ \
((__typeof__(*(ptr)))__cmpxchg_local_generic((ptr), (unsigned long)(o),\
(unsigned long)(n), sizeof(*(ptr))))
(unsigned long)(n), sizeof(*(ptr)))); \
})
#endif

#ifndef cmpxchg64_local
Expand Down
34 changes: 2 additions & 32 deletions include/asm-generic/io-64-nonatomic-hi-lo.h
Original file line number Diff line number Diff line change
@@ -1,32 +1,2 @@
#ifndef _ASM_IO_64_NONATOMIC_HI_LO_H_
#define _ASM_IO_64_NONATOMIC_HI_LO_H_

#include <linux/io.h>
#include <asm-generic/int-ll64.h>

static inline __u64 hi_lo_readq(const volatile void __iomem *addr)
{
const volatile u32 __iomem *p = addr;
u32 low, high;

high = readl(p + 1);
low = readl(p);

return low + ((u64)high << 32);
}

static inline void hi_lo_writeq(__u64 val, volatile void __iomem *addr)
{
writel(val >> 32, addr + 4);
writel(val, addr);
}

#ifndef readq
#define readq hi_lo_readq
#endif

#ifndef writeq
#define writeq hi_lo_writeq
#endif

#endif /* _ASM_IO_64_NONATOMIC_HI_LO_H_ */
/* XXX: delete asm-generic/io-64-nonatomic-hi-lo.h after converting new users */
#include <linux/io-64-nonatomic-hi-lo.h>
34 changes: 2 additions & 32 deletions include/asm-generic/io-64-nonatomic-lo-hi.h
Original file line number Diff line number Diff line change
@@ -1,32 +1,2 @@
#ifndef _ASM_IO_64_NONATOMIC_LO_HI_H_
#define _ASM_IO_64_NONATOMIC_LO_HI_H_

#include <linux/io.h>
#include <asm-generic/int-ll64.h>

static inline __u64 lo_hi_readq(const volatile void __iomem *addr)
{
const volatile u32 __iomem *p = addr;
u32 low, high;

low = readl(p);
high = readl(p + 1);

return low + ((u64)high << 32);
}

static inline void lo_hi_writeq(__u64 val, volatile void __iomem *addr)
{
writel(val, addr);
writel(val >> 32, addr + 4);
}

#ifndef readq
#define readq lo_hi_readq
#endif

#ifndef writeq
#define writeq lo_hi_writeq
#endif

#endif /* _ASM_IO_64_NONATOMIC_LO_HI_H_ */
/* XXX: delete asm-generic/io-64-nonatomic-lo-hi.h after converting new users */
#include <linux/io-64-nonatomic-lo-hi.h>
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@
* 2 of the Licence, or (at your option) any later version.
*/

#ifndef _ASM_GENERIC_BITOPS_COUNT_ZEROS_H_
#define _ASM_GENERIC_BITOPS_COUNT_ZEROS_H_
#ifndef _LINUX_BITOPS_COUNT_ZEROS_H_
#define _LINUX_BITOPS_COUNT_ZEROS_H_

#include <asm/bitops.h>

Expand Down Expand Up @@ -54,4 +54,4 @@ static inline int count_trailing_zeros(unsigned long x)
return (x != 0) ? __ffs(x) : COUNT_TRAILING_ZEROS_0;
}

#endif /* _ASM_GENERIC_BITOPS_COUNT_ZEROS_H_ */
#endif /* _LINUX_BITOPS_COUNT_ZEROS_H_ */
32 changes: 32 additions & 0 deletions include/linux/io-64-nonatomic-hi-lo.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#ifndef _LINUX_IO_64_NONATOMIC_HI_LO_H_
#define _LINUX_IO_64_NONATOMIC_HI_LO_H_

#include <linux/io.h>
#include <asm-generic/int-ll64.h>

static inline __u64 hi_lo_readq(const volatile void __iomem *addr)
{
const volatile u32 __iomem *p = addr;
u32 low, high;

high = readl(p + 1);
low = readl(p);

return low + ((u64)high << 32);
}

static inline void hi_lo_writeq(__u64 val, volatile void __iomem *addr)
{
writel(val >> 32, addr + 4);
writel(val, addr);
}

#ifndef readq
#define readq hi_lo_readq
#endif

#ifndef writeq
#define writeq hi_lo_writeq
#endif

#endif /* _LINUX_IO_64_NONATOMIC_HI_LO_H_ */
32 changes: 32 additions & 0 deletions include/linux/io-64-nonatomic-lo-hi.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
#ifndef _LINUX_IO_64_NONATOMIC_LO_HI_H_
#define _LINUX_IO_64_NONATOMIC_LO_HI_H_

#include <linux/io.h>
#include <asm-generic/int-ll64.h>

static inline __u64 lo_hi_readq(const volatile void __iomem *addr)
{
const volatile u32 __iomem *p = addr;
u32 low, high;

low = readl(p);
high = readl(p + 1);

return low + ((u64)high << 32);
}

static inline void lo_hi_writeq(__u64 val, volatile void __iomem *addr)
{
writel(val, addr);
writel(val >> 32, addr + 4);
}

#ifndef readq
#define readq lo_hi_readq
#endif

#ifndef writeq
#define writeq lo_hi_writeq
#endif

#endif /* _LINUX_IO_64_NONATOMIC_LO_HI_H_ */
Loading

0 comments on commit 9cf5c09

Please sign in to comment.