linux-stable/arch
Arnd Bergmann 9055a2f591 ixp4xx_eth: make ptp support a platform driver
After the recent ixp4xx cleanups, the ptp driver has gained a
build failure in some configurations:

drivers/net/ethernet/xscale/ptp_ixp46x.c: In function 'ptp_ixp_init':
drivers/net/ethernet/xscale/ptp_ixp46x.c:290:51: error: 'IXP4XX_TIMESYNC_BASE_VIRT' undeclared (first use in this function)

Avoid the last bit of hardcoded constants from platform headers
by turning the ptp driver bit into a platform driver and passing
the IRQ and MMIO address as resources.

This is a bit tricky:

- The interface between the two drivers is now the new
  ixp46x_ptp_find() function, replacing the global
  ixp46x_phc_index variable. The call is done as late
  as possible, in hwtstamp_set(), to ensure that the
  ptp device is fully probed.

- As the ptp driver is now called by the network driver, the
  link dependency is reversed, which in turn requires a small
  Makefile hack

- The GPIO number is still left hardcoded. This is clearly not
  great, but it can be addressed later. Note that commit 98ac0cc270
  ("ARM: ixp4xx: Convert to MULTI_IRQ_HANDLER") changed the
  IRQ number to something meaningless. Passing the correct IRQ
  in a resource fixes this.

- When the PTP driver is disabled, ethtool .get_ts_info()
  now correctly lists only software timestamping regardless
  of the hardware.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
[Fix a missing include]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-08-30 09:59:11 +01:00
..
alpha sock: allow reading and changing sk_userlocks with setsockopt 2021-08-04 12:52:03 +01:00
arc ARC: fp: set FPU_STATUS.FWE to enable FPU_STATUS update on context switch 2021-08-03 18:58:33 -07:00
arm ixp4xx_eth: make ptp support a platform driver 2021-08-30 09:59:11 +01:00
arm64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-26 17:57:57 -07:00
csky Kbuild updates for v5.14 2021-07-10 11:01:38 -07:00
h8300 libata-5.14-2021-07-30 2021-07-30 10:56:47 -07:00
hexagon Kbuild updates for v5.14 2021-07-10 11:01:38 -07:00
ia64 libata-5.14-2021-07-30 2021-07-30 10:56:47 -07:00
m68k libata-5.14-2021-07-30 2021-07-30 10:56:47 -07:00
microblaze Kbuild updates for v5.14 2021-07-10 11:01:38 -07:00
mips Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-13 06:41:22 -07:00
nds32 nds32: fix up stack guard gap 2021-07-21 15:51:37 +02:00
nios2 Kbuild updates for v5.14 2021-07-10 11:01:38 -07:00
openrisc Kbuild updates for v5.14 2021-07-10 11:01:38 -07:00
parisc sock: allow reading and changing sk_userlocks with setsockopt 2021-08-04 12:52:03 +01:00
powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-26 17:57:57 -07:00
riscv RISC-V Fixes for 5.14-rc7 2021-08-21 11:04:26 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-26 17:57:57 -07:00
sh libata-5.14-2021-07-30 2021-07-30 10:56:47 -07:00
sparc sock: allow reading and changing sk_userlocks with setsockopt 2021-08-04 12:52:03 +01:00
um um: vector: adjust to coalesce API changes 2021-08-27 07:05:53 -07:00
x86 Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2021-08-19 18:09:18 -07:00
xtensa libata-5.14-2021-07-30 2021-07-30 10:56:47 -07:00
.gitignore
Kconfig Kconfig: Introduce ARCH_WANTS_NO_INSTR and CC_HAS_NO_PROFILE_FN_ATTR 2021-06-22 11:07:18 -07:00