On Tue, Aug 16, 2016 at 05:38:41PM +0100, Mark Brown wrote:
On Tue, Aug 16, 2016 at 10:37:20AM +0100, Build bot for Mark Brown wrote:
Today's -next fails to build an ARM allmodconfig due to:
arm-allmodconfig ../drivers/net/ethernet/mellanox/mlx5/core/debugfs.c:300:61: error: 'outb' undeclared (first use in this function)
which appears to be caused by 535e20f083e6 ({net,IB}/mlx5: QP/XRCD commands via mlx5 ifc). outb() just isn't available as standard on ARM, it's not something that's meaningful for the hardware.
Thanks Mark for catching it.
It puzzles me how it passed all other compilations (internals and externals) without failures. On my machine (x86-64), old and new versions compile without errors.
This failure isn't related to OUT assembly instruction, but to typo in pointer name declaration. It was declared as "u32 *out", but "outb" was used.
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c index e587911..e94a953 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c @@ -297,7 +297,7 @@ static u64 qp_read_field(struct mlx5_core_dev *dev, struct mlx5_core_qp *qp, *is_str = 0;
/* FIXME: use MLX5_GET rather than mlx5_qp_context manual struct */ - ctx = (struct mlx5_qp_context *)MLX5_ADDR_OF(query_qp_out, outb, qpc); + ctx = (struct mlx5_qp_context *)MLX5_ADDR_OF(query_qp_out, out, qpc);
switch (index) { case QP_PID: