Re: [PATCH 6/6] coresight-stm: adding driver for CoreSight STM component

From: Chunyan Zhang
Date: Mon Feb 01 2016 - 07:44:28 EST


Hi Mathieu,

So sorry that I forgot this patch depends on [1] which hasn't been upstreamed.
How about adding the definition of coresight_simple_func() like [1]
does in the STM driver for the time being? It can be simply removed
once [1] is upstreamed. If you agree with this idea, I'll add the
definition of coresight_simple_func() in the next version of patches.

Thanks,
Chunyan

[1] https://git.linaro.org/people/mathieu.poirier/coresight.git/blobdiff/59aadd3319527addcf8dbc6e6064b15f74b244fe..76dda3d0d313a4676d43adef52ad8faec0c61b61:/drivers/hwtracing/coresight/coresight-priv.h

On Mon, Feb 1, 2016 at 6:01 PM, kbuild test robot <lkp@xxxxxxxxx> wrote:
> Hi Pratik,
>
> [auto build test ERROR on robh/for-next]
> [also build test ERROR on v4.5-rc2 next-20160201]
> [if your patch is applied to the wrong git tree, please drop us a note to help improving the system]
>
> url: https://github.com/0day-ci/linux/commits/Chunyan-Zhang/Introduce-CoreSight-STM-support/20160201-160437
> base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux for-next
> config: arm-allmodconfig (attached as .config)
> reproduce:
> wget https://git.kernel.org/cgit/linux/kernel/git/wfg/lkp-tests.git/plain/sbin/make.cross -O ~/bin/make.cross
> chmod +x ~/bin/make.cross
> # save the attached .config to linux build tree
> make.cross ARCH=arm
>
> All errors (new ones prefixed by >>):
>
>>> drivers/hwtracing/coresight/coresight-stm.c:671:27: error: unknown type name 'tcsr'
> coresight_stm_simple_func(tcsr, STMTCSR);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:57:20: error: expected declaration specifiers or '...' before numeric constant
> #define STMTCSR 0xe80
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:671:33: note: in expansion of macro 'STMTCSR'
> coresight_stm_simple_func(tcsr, STMTCSR);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:672:27: error: unknown type name 'tsfreqr'
> coresight_stm_simple_func(tsfreqr, STMTSFREQR);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:59:22: error: expected declaration specifiers or '...' before numeric constant
> #define STMTSFREQR 0xe8c
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:672:36: note: in expansion of macro 'STMTSFREQR'
> coresight_stm_simple_func(tsfreqr, STMTSFREQR);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:673:27: error: unknown type name 'syncr'
> coresight_stm_simple_func(syncr, STMSYNCR);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:60:20: error: expected declaration specifiers or '...' before numeric constant
> #define STMSYNCR 0xe90
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:673:34: note: in expansion of macro 'STMSYNCR'
> coresight_stm_simple_func(syncr, STMSYNCR);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:674:27: error: unknown type name 'sper'
> coresight_stm_simple_func(sper, STMSPER);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:49:20: error: expected declaration specifiers or '...' before numeric constant
> #define STMSPER 0xe00
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:674:33: note: in expansion of macro 'STMSPER'
> coresight_stm_simple_func(sper, STMSPER);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:675:27: error: unknown type name 'spter'
> coresight_stm_simple_func(spter, STMSPTER);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:50:20: error: expected declaration specifiers or '...' before numeric constant
> #define STMSPTER 0xe20
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:675:34: note: in expansion of macro 'STMSPTER'
> coresight_stm_simple_func(spter, STMSPTER);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:676:27: error: unknown type name 'privmaskr'
> coresight_stm_simple_func(privmaskr, STMPRIVMASKR);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:51:24: error: expected declaration specifiers or '...' before numeric constant
> #define STMPRIVMASKR 0xe40
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:676:38: note: in expansion of macro 'STMPRIVMASKR'
> coresight_stm_simple_func(privmaskr, STMPRIVMASKR);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:677:27: error: unknown type name 'spscr'
> coresight_stm_simple_func(spscr, STMSPSCR);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:52:20: error: expected declaration specifiers or '...' before numeric constant
> #define STMSPSCR 0xe60
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:677:34: note: in expansion of macro 'STMSPSCR'
> coresight_stm_simple_func(spscr, STMSPSCR);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:678:27: error: unknown type name 'spmscr'
> coresight_stm_simple_func(spmscr, STMSPMSCR);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:53:21: error: expected declaration specifiers or '...' before numeric constant
> #define STMSPMSCR 0xe64
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:678:35: note: in expansion of macro 'STMSPMSCR'
> coresight_stm_simple_func(spmscr, STMSPMSCR);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:679:27: error: unknown type name 'spfeat1r'
> coresight_stm_simple_func(spfeat1r, STMSPFEAT1R);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:62:23: error: expected declaration specifiers or '...' before numeric constant
> #define STMSPFEAT1R 0xea0
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:679:37: note: in expansion of macro 'STMSPFEAT1R'
> coresight_stm_simple_func(spfeat1r, STMSPFEAT1R);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:680:27: error: unknown type name 'spfeat2r'
> coresight_stm_simple_func(spfeat2r, STMSPFEAT2R);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:63:23: error: expected declaration specifiers or '...' before numeric constant
> #define STMSPFEAT2R 0xea4
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:680:37: note: in expansion of macro 'STMSPFEAT2R'
> coresight_stm_simple_func(spfeat2r, STMSPFEAT2R);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:681:27: error: unknown type name 'spfeat3r'
> coresight_stm_simple_func(spfeat3r, STMSPFEAT3R);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:64:23: error: expected declaration specifiers or '...' before numeric constant
> #define STMSPFEAT3R 0xea8
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:681:37: note: in expansion of macro 'STMSPFEAT3R'
> coresight_stm_simple_func(spfeat3r, STMSPFEAT3R);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:682:27: error: unknown type name 'devid'
> coresight_stm_simple_func(devid, CORESIGHT_DEVID);
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:44: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-priv.h:31:26: error: expected declaration specifiers or '...' before numeric constant
> #define CORESIGHT_DEVID 0xfc8
> ^
> drivers/hwtracing/coresight/coresight-stm.c:669:50: note: in definition of macro 'coresight_stm_simple_func'
> coresight_simple_func(struct stm_drvdata, name, offset)
> ^
> drivers/hwtracing/coresight/coresight-stm.c:682:34: note: in expansion of macro 'CORESIGHT_DEVID'
> coresight_stm_simple_func(devid, CORESIGHT_DEVID);
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:694:3: error: 'dev_attr_tcsr' undeclared here (not in a function)
> &dev_attr_tcsr.attr,
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:695:3: error: 'dev_attr_tsfreqr' undeclared here (not in a function)
> &dev_attr_tsfreqr.attr,
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:696:3: error: 'dev_attr_syncr' undeclared here (not in a function)
> &dev_attr_syncr.attr,
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:697:3: error: 'dev_attr_sper' undeclared here (not in a function)
> &dev_attr_sper.attr,
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:698:3: error: 'dev_attr_spter' undeclared here (not in a function)
> &dev_attr_spter.attr,
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:699:3: error: 'dev_attr_privmaskr' undeclared here (not in a function)
> &dev_attr_privmaskr.attr,
> ^
>>> drivers/hwtracing/coresight/coresight-stm.c:700:3: error: 'dev_attr_spscr' undeclared here (not in a function)
> &dev_attr_spscr.attr,
> ^
>
> vim +/tcsr +671 drivers/hwtracing/coresight/coresight-stm.c
>
> 663 drvdata->traceid = val & 0x7f;
> 664 return size;
> 665 }
> 666 static DEVICE_ATTR_RW(traceid);
> 667
> 668 #define coresight_stm_simple_func(name, offset) \
> > 669 coresight_simple_func(struct stm_drvdata, name, offset)
> 670
> > 671 coresight_stm_simple_func(tcsr, STMTCSR);
> > 672 coresight_stm_simple_func(tsfreqr, STMTSFREQR);
> > 673 coresight_stm_simple_func(syncr, STMSYNCR);
> > 674 coresight_stm_simple_func(sper, STMSPER);
> > 675 coresight_stm_simple_func(spter, STMSPTER);
> > 676 coresight_stm_simple_func(privmaskr, STMPRIVMASKR);
> > 677 coresight_stm_simple_func(spscr, STMSPSCR);
> > 678 coresight_stm_simple_func(spmscr, STMSPMSCR);
> > 679 coresight_stm_simple_func(spfeat1r, STMSPFEAT1R);
> > 680 coresight_stm_simple_func(spfeat2r, STMSPFEAT2R);
> > 681 coresight_stm_simple_func(spfeat3r, STMSPFEAT3R);
> > 682 coresight_stm_simple_func(devid, CORESIGHT_DEVID);
> 683
> 684 static struct attribute *coresight_stm_attrs[] = {
> 685 &dev_attr_hwevent_enable.attr,
> 686 &dev_attr_hwevent_select.attr,
> 687 &dev_attr_port_enable.attr,
> 688 &dev_attr_port_select.attr,
> 689 &dev_attr_traceid.attr,
> 690 NULL,
> 691 };
> 692
> 693 static struct attribute *coresight_stm_mgmt_attrs[] = {
> > 694 &dev_attr_tcsr.attr,
> > 695 &dev_attr_tsfreqr.attr,
> > 696 &dev_attr_syncr.attr,
> > 697 &dev_attr_sper.attr,
> > 698 &dev_attr_spter.attr,
> > 699 &dev_attr_privmaskr.attr,
> > 700 &dev_attr_spscr.attr,
> > 701 &dev_attr_spmscr.attr,
> > 702 &dev_attr_spfeat1r.attr,
> > 703 &dev_attr_spfeat2r.attr,
> > 704 &dev_attr_spfeat3r.attr,
> > 705 &dev_attr_devid.attr,
> 706 NULL,
> 707 };
> 708
>
> ---
> 0-DAY kernel test infrastructure Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all Intel Corporation