Merge branch 'akpm' (patches from Andrew)
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 12 Oct 2016 00:34:10 +0000 (17:34 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 12 Oct 2016 00:34:10 +0000 (17:34 -0700)
Merge more updates from Andrew Morton:

 - a few block updates that fell in my lap

 - lib/ updates

 - checkpatch

 - autofs

 - ipc

 - a ton of misc other things

* emailed patches from Andrew Morton <akpm@linux-foundation.org>: (100 commits)
  mm: split gfp_mask and mapping flags into separate fields
  fs: use mapping_set_error instead of opencoded set_bit
  treewide: remove redundant #include <linux/kconfig.h>
  hung_task: allow hung_task_panic when hung_task_warnings is 0
  kthread: add kerneldoc for kthread_create()
  kthread: better support freezable kthread workers
  kthread: allow to modify delayed kthread work
  kthread: allow to cancel kthread work
  kthread: initial support for delayed kthread work
  kthread: detect when a kthread work is used by more workers
  kthread: add kthread_destroy_worker()
  kthread: add kthread_create_worker*()
  kthread: allow to call __kthread_create_on_node() with va_list args
  kthread/smpboot: do not park in kthread_create_on_cpu()
  kthread: kthread worker API cleanup
  kthread: rename probe_kthread_data() to kthread_probe_data()
  scripts/tags.sh: enable code completion in VIM
  mm: kmemleak: avoid using __va() on addresses that don't have a lowmem mapping
  kdump, vmcoreinfo: report memory sections virtual addresses
  ipc/sem.c: add cond_resched in exit_sme
  ...

1  2 
drivers/input/rmi4/rmi_bus.c
drivers/media/dvb-frontends/cxd2820r.h
drivers/media/usb/dvb-usb/dibusb-common.c

@@@ -9,7 -9,6 +9,6 @@@
  
  #include <linux/kernel.h>
  #include <linux/device.h>
- #include <linux/kconfig.h>
  #include <linux/list.h>
  #include <linux/pm.h>
  #include <linux/rmi.h>
@@@ -312,9 -311,6 +311,9 @@@ static struct rmi_function_handler *fn_
  #ifdef CONFIG_RMI4_F30
        &rmi_f30_handler,
  #endif
 +#ifdef CONFIG_RMI4_F54
 +      &rmi_f54_handler,
 +#endif
  };
  
  static void __rmi_unregister_function_handlers(int start_idx)
@@@ -22,7 -22,6 +22,6 @@@
  #ifndef CXD2820R_H
  #define CXD2820R_H
  
- #include <linux/kconfig.h>
  #include <linux/dvb/frontend.h>
  
  #define CXD2820R_GPIO_D (0 << 0) /* disable */
  #define CXD2820R_TS_PARALLEL      0x30
  #define CXD2820R_TS_PARALLEL_MSB  0x70
  
 +/*
 + * I2C address: 0x6c, 0x6d
 + */
 +
 +/**
 + * struct cxd2820r_platform_data - Platform data for the cxd2820r driver
 + * @ts_mode: TS mode.
 + * @ts_clk_inv: TS clock inverted.
 + * @if_agc_polarity: IF AGC polarity.
 + * @spec_inv: Input spectrum inverted.
 + * @gpio_chip_base: GPIO.
 + * @get_dvb_frontend: Get DVB frontend.
 + */
 +
 +struct cxd2820r_platform_data {
 +      u8 ts_mode;
 +      bool ts_clk_inv;
 +      bool if_agc_polarity;
 +      bool spec_inv;
 +      int **gpio_chip_base;
 +
 +      struct dvb_frontend* (*get_dvb_frontend)(struct i2c_client *);
 +/* private: For legacy media attach wrapper. Do not set value. */
 +      bool attach_in_use;
 +};
 +
  struct cxd2820r_config {
        /* Demodulator I2C address.
         * Driver determines DVB-C slave I2C address automatically from master
@@@ -9,7 -9,6 +9,6 @@@
   * see Documentation/dvb/README.dvb-usb for more information
   */
  
- #include <linux/kconfig.h>
  #include "dibusb.h"
  
  /* Max transfer size done by I2C transfer functions */
@@@ -184,6 -183,164 +183,6 @@@ int dibusb_read_eeprom_byte(struct dvb_
  }
  EXPORT_SYMBOL(dibusb_read_eeprom_byte);
  
 -#if IS_ENABLED(CONFIG_DVB_DIB3000MC)
 -
 -/* 3000MC/P stuff */
 -// Config Adjacent channels  Perf -cal22
 -static struct dibx000_agc_config dib3000p_mt2060_agc_config = {
 -      .band_caps = BAND_VHF | BAND_UHF,
 -      .setup     = (1 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (0 << 2) | (2 << 0),
 -
 -      .agc1_max = 48497,
 -      .agc1_min = 23593,
 -      .agc2_max = 46531,
 -      .agc2_min = 24904,
 -
 -      .agc1_pt1 = 0x65,
 -      .agc1_pt2 = 0x69,
 -
 -      .agc1_slope1 = 0x51,
 -      .agc1_slope2 = 0x27,
 -
 -      .agc2_pt1 = 0,
 -      .agc2_pt2 = 0x33,
 -
 -      .agc2_slope1 = 0x35,
 -      .agc2_slope2 = 0x37,
 -};
 -
 -static struct dib3000mc_config stk3000p_dib3000p_config = {
 -      &dib3000p_mt2060_agc_config,
 -
 -      .max_time     = 0x196,
 -      .ln_adc_level = 0x1cc7,
 -
 -      .output_mpeg2_in_188_bytes = 1,
 -
 -      .agc_command1 = 1,
 -      .agc_command2 = 1,
 -};
 -
 -static struct dibx000_agc_config dib3000p_panasonic_agc_config = {
 -      .band_caps = BAND_VHF | BAND_UHF,
 -      .setup     = (1 << 8) | (5 << 5) | (1 << 4) | (1 << 3) | (0 << 2) | (2 << 0),
 -
 -      .agc1_max = 56361,
 -      .agc1_min = 22282,
 -      .agc2_max = 47841,
 -      .agc2_min = 36045,
 -
 -      .agc1_pt1 = 0x3b,
 -      .agc1_pt2 = 0x6b,
 -
 -      .agc1_slope1 = 0x55,
 -      .agc1_slope2 = 0x1d,
 -
 -      .agc2_pt1 = 0,
 -      .agc2_pt2 = 0x0a,
 -
 -      .agc2_slope1 = 0x95,
 -      .agc2_slope2 = 0x1e,
 -};
 -
 -static struct dib3000mc_config mod3000p_dib3000p_config = {
 -      &dib3000p_panasonic_agc_config,
 -
 -      .max_time     = 0x51,
 -      .ln_adc_level = 0x1cc7,
 -
 -      .output_mpeg2_in_188_bytes = 1,
 -
 -      .agc_command1 = 1,
 -      .agc_command2 = 1,
 -};
 -
 -int dibusb_dib3000mc_frontend_attach(struct dvb_usb_adapter *adap)
 -{
 -      if (le16_to_cpu(adap->dev->udev->descriptor.idVendor) == USB_VID_LITEON &&
 -          le16_to_cpu(adap->dev->udev->descriptor.idProduct) ==
 -                      USB_PID_LITEON_DVB_T_WARM) {
 -              msleep(1000);
 -      }
 -
 -      adap->fe_adap[0].fe = dvb_attach(dib3000mc_attach,
 -                                       &adap->dev->i2c_adap,
 -                                       DEFAULT_DIB3000P_I2C_ADDRESS,
 -                                       &mod3000p_dib3000p_config);
 -      if ((adap->fe_adap[0].fe) == NULL)
 -              adap->fe_adap[0].fe = dvb_attach(dib3000mc_attach,
 -                                               &adap->dev->i2c_adap,
 -                                               DEFAULT_DIB3000MC_I2C_ADDRESS,
 -                                               &mod3000p_dib3000p_config);
 -      if ((adap->fe_adap[0].fe) != NULL) {
 -              if (adap->priv != NULL) {
 -                      struct dibusb_state *st = adap->priv;
 -                      st->ops.pid_parse = dib3000mc_pid_parse;
 -                      st->ops.pid_ctrl  = dib3000mc_pid_control;
 -              }
 -              return 0;
 -      }
 -      return -ENODEV;
 -}
 -EXPORT_SYMBOL(dibusb_dib3000mc_frontend_attach);
 -
 -static struct mt2060_config stk3000p_mt2060_config = {
 -      0x60
 -};
 -
 -int dibusb_dib3000mc_tuner_attach(struct dvb_usb_adapter *adap)
 -{
 -      struct dibusb_state *st = adap->priv;
 -      u8 a,b;
 -      u16 if1 = 1220;
 -      struct i2c_adapter *tun_i2c;
 -
 -      // First IF calibration for Liteon Sticks
 -      if (le16_to_cpu(adap->dev->udev->descriptor.idVendor) == USB_VID_LITEON &&
 -          le16_to_cpu(adap->dev->udev->descriptor.idProduct) == USB_PID_LITEON_DVB_T_WARM) {
 -
 -              dibusb_read_eeprom_byte(adap->dev,0x7E,&a);
 -              dibusb_read_eeprom_byte(adap->dev,0x7F,&b);
 -
 -              if (a == 0x00)
 -                      if1 += b;
 -              else if (a == 0x80)
 -                      if1 -= b;
 -              else
 -                      warn("LITE-ON DVB-T: Strange IF1 calibration :%2X %2X\n", a, b);
 -
 -      } else if (le16_to_cpu(adap->dev->udev->descriptor.idVendor) == USB_VID_DIBCOM &&
 -                 le16_to_cpu(adap->dev->udev->descriptor.idProduct) == USB_PID_DIBCOM_MOD3001_WARM) {
 -              u8 desc;
 -              dibusb_read_eeprom_byte(adap->dev, 7, &desc);
 -              if (desc == 2) {
 -                      a = 127;
 -                      do {
 -                              dibusb_read_eeprom_byte(adap->dev, a, &desc);
 -                              a--;
 -                      } while (a > 7 && (desc == 0xff || desc == 0x00));
 -                      if (desc & 0x80)
 -                              if1 -= (0xff - desc);
 -                      else
 -                              if1 += desc;
 -              }
 -      }
 -
 -      tun_i2c = dib3000mc_get_tuner_i2c_master(adap->fe_adap[0].fe, 1);
 -      if (dvb_attach(mt2060_attach, adap->fe_adap[0].fe, tun_i2c, &stk3000p_mt2060_config, if1) == NULL) {
 -              /* not found - use panasonic pll parameters */
 -              if (dvb_attach(dvb_pll_attach, adap->fe_adap[0].fe, 0x60, tun_i2c, DVB_PLL_ENV57H1XD5) == NULL)
 -                      return -ENOMEM;
 -      } else {
 -              st->mt2060_present = 1;
 -              /* set the correct parameters for the dib3000p */
 -              dib3000mc_set_config(adap->fe_adap[0].fe, &stk3000p_dib3000p_config);
 -      }
 -      return 0;
 -}
 -EXPORT_SYMBOL(dibusb_dib3000mc_tuner_attach);
 -#endif
 -
  /*
   * common remote control stuff
   */