Hi Ram, [FYI, it's a private test report for your RFC patch.] [auto build test ERROR on linus/master] [cannot apply to v5.4-rc4 next-20191022] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system. BTW, we also suggest to use '--base' option to specify the base tree in git format-patch, please see https://stackoverflow.com/a/37406982] url: https://github.com/0day-ci/linux/commits/Ram-Prakash-Gupta/mmc-Add-clock-scaling-support-for-mmc-driver/20191024-121237 base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 13b86bc4cd648eae69fdcf3d04b2750c76350053 config: i386-randconfig-f002-201942 (attached as .config) compiler: gcc-7 (Debian 7.4.0-14) 7.4.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 If you fix the issue, kindly add following tag Reported-by: kbuild test robot All errors (new ones prefixed by >>): In file included from drivers/mmc/core/bus.c:20:0: >> include/linux/mmc/host.h:310:39: error: field 'ondemand_gov_data' has incomplete type struct devfreq_simple_ondemand_data ondemand_gov_data; ^~~~~~~~~~~~~~~~~ vim +/ondemand_gov_data +310 include/linux/mmc/host.h 282 283 /** 284 * struct mmc_devfeq_clk_scaling - main context for MMC clock scaling logic 285 * 286 * @lock: spinlock to protect statistics 287 * @devfreq: struct that represent mmc-host as a client for devfreq 288 * @devfreq_profile: MMC device profile, mostly polling interval and callbacks 289 * @ondemand_gov_data: struct supplied to ondemmand governor (thresholds) 290 * @state: load state, can be HIGH or LOW. used to notify mmc_host_ops callback 291 * @start_busy: timestamped armed once a data request is started 292 * @measure_interval_start: timestamped armed once a measure interval started 293 * @devfreq_abort: flag to sync between different contexts relevant to devfreq 294 * @skip_clk_scale_freq_update: flag that enable/disable frequency change 295 * @freq_table_sz: table size of frequencies supplied to devfreq 296 * @freq_table: frequencies table supplied to devfreq 297 * @curr_freq: current frequency 298 * @polling_delay_ms: polling interval for status collection used by devfreq 299 * @upthreshold: up-threshold supplied to ondemand governor 300 * @downthreshold: down-threshold supplied to ondemand governor 301 * @need_freq_change: flag indicating if a frequency change is required 302 * @is_busy_started: flag indicating if a request is handled by the HW 303 * @enable: flag indicating if the clock scaling logic is enabled for this host 304 * @is_suspended: to make devfreq request queued when mmc is suspened 305 */ 306 struct mmc_devfeq_clk_scaling { 307 spinlock_t lock; 308 struct devfreq *devfreq; 309 struct devfreq_dev_profile devfreq_profile; > 310 struct devfreq_simple_ondemand_data ondemand_gov_data; 311 enum mmc_load state; 312 ktime_t start_busy; 313 ktime_t measure_interval_start; 314 atomic_t devfreq_abort; 315 bool skip_clk_scale_freq_update; 316 int freq_table_sz; 317 int pltfm_freq_table_sz; 318 u32 *freq_table; 319 u32 *pltfm_freq_table; 320 unsigned long total_busy_time_us; 321 unsigned long target_freq; 322 unsigned long curr_freq; 323 unsigned long polling_delay_ms; 324 unsigned int upthreshold; 325 unsigned int downthreshold; 326 unsigned int lower_bus_speed_mode; 327 #define MMC_SCALING_LOWER_DDR52_MODE 1 328 bool need_freq_change; 329 bool is_busy_started; 330 bool enable; 331 bool is_suspended; 332 }; 333 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation