Browse Source

spi: pxa2xx: Make LPSS SPI general register optional

General register located in LPSS SPI private register space is not found in
upcoming Intel LPSS platforms. Access it conditionally depending is it
defined in configuration.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jarkko Nikula 10 năm trước cách đây
mục cha
commit
82ba2c2ab3
1 tập tin đã thay đổi với 7 bổ sung3 xóa
  1. 7 3
      drivers/spi/spi-pxa2xx.c

+ 7 - 3
drivers/spi/spi-pxa2xx.c

@@ -245,9 +245,13 @@ static void lpss_ssp_setup(struct driver_data *drv_data)
 	if (drv_data->master_info->enable_dma) {
 	if (drv_data->master_info->enable_dma) {
 		__lpss_ssp_write_priv(drv_data, config->reg_ssp, 1);
 		__lpss_ssp_write_priv(drv_data, config->reg_ssp, 1);
 
 
-		value = __lpss_ssp_read_priv(drv_data, config->reg_general);
-		value |= GENERAL_REG_RXTO_HOLDOFF_DISABLE;
-		__lpss_ssp_write_priv(drv_data, config->reg_general, value);
+		if (config->reg_general >= 0) {
+			value = __lpss_ssp_read_priv(drv_data,
+						     config->reg_general);
+			value |= GENERAL_REG_RXTO_HOLDOFF_DISABLE;
+			__lpss_ssp_write_priv(drv_data,
+					      config->reg_general, value);
+		}
 	}
 	}
 }
 }