tree e2f1609b55c979ba955320895c28aa5e5f9d70a0
parent 8237f8bc4f6eb7e5ce2a19276079cfd3a7c6314a
author Atish Patra <atish.patra@wdc.com> 1533597456 -0700
committer Palmer Dabbelt <palmer@sifive.com> 1534174292 -0700
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQJHBAABCAAxFiEEAM520YNJYN/OiG3470yhUCzLq0EFAltxpFQTHHBhbG1lckBk
 YWJiZWx0LmNvbQAKCRDvTKFQLMurQRZnEACKXfxVAbSSAVH7S+LHfP8vHf1nSObD
 gYiCLQwRYBxwRVTL5mEHwv4z/NafjffmqxBfuezTJ9WU4HdUsEXnIWKN21RgFvrm
 b22g+2jF9y6psRga0k4igTQ5dOaYS6jBv9ZmvE/3V09oT0WwZA59qiUMLsOi/VM5
 E1Z0SqMJOR+sWN78p1XpnjJH6ED8Uw7YGJhT8X2YecN7yqjbUzEMNyYhm8vcvuXy
 gWcfYD3rLmqlRm8bvvaTCCF1DHQqg+O7Bp9iHHuEUWN00a3bDlR68LMdEXhxoqdz
 C8HSvxi2yklrkn2QmxZrY7lUOhMkwom8+BSclGxsO4MNixa25nJ+2D7dLJ/rrMy8
 6cWr2aMXq5jPA2bVMD+dWoX2yiqiEX5mfCj2xdhMniLcO+xI+JRAd1zVpU80oeqt
 NfjlAbnwA4s+iNZfCdxazn2MpQfWhFyj6v5VMawS1ItxtCJs95QhKCy4vLbrjeTV
 OXGGlLUYR5tn66mA1sZ668XdTGcjMzn9DoQMK7hoiBLf2QdgpgcmQVk5rdhcS0jg
 ZfBQv3kWQ0HXfVpyimbxHUscbl1Xx/x5X226C81x3ysNZGqFD347AK05jtPAEt+v
 OZ1ifISsqkMikVvRqUgzF+WBE81/pPncj4zNGg6HsEJSPjJTvMVLh8U55S865anS
 RyeaGtPznQ6eoQ==
 =1Y5O
 -----END PGP SIGNATURE-----

RISC-V: Fix !CONFIG_SMP compilation error

Enabling both CONFIG_PERF_EVENTS without !CONFIG_SMP
generates following compilation error.

arch/riscv/include/asm/perf_event.h:80:2: error: expected
specifier-qualifier-list before 'irqreturn_t'

  irqreturn_t (*handle_irq)(int irq_num, void *dev);
  ^~~~~~~~~~~

Include interrupt.h in proper place to avoid compilation
error.

Signed-off-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
