[<prev] [next>] [day] [month] [year] [list]
Message-ID: <202202250245.7k14zZf6-lkp@intel.com>
Date: Fri, 25 Feb 2022 03:10:06 +0800
From: kernel test robot <lkp@...el.com>
To: Kees Cook <keescook@...omium.org>
Cc: llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
linux-kernel@...r.kernel.org, Daniel Micay <danielmicay@...il.com>,
Nick Desaulniers <ndesaulniers@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Linux Memory Management List <linux-mm@...ck.org>
Subject: drivers/media/test-drivers/vivid/vivid-core.c:1986:12: warning:
stack frame size (2256) exceeds limit (2048) in 'vivid_probe'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 23d04328444a8fa0ca060c5e532220dac8e8bc26
commit: c37495d6254c237578db3121dcf79857e033f8ff slab: add __alloc_size attributes for better bounds checking
date: 4 months ago
config: mips-randconfig-r034-20220223 (https://download.01.org/0day-ci/archive/20220225/202202250245.7k14zZf6-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install mips cross compiling tool for clang build
# apt-get install binutils-mips-linux-gnu
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=c37495d6254c237578db3121dcf79857e033f8ff
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout c37495d6254c237578db3121dcf79857e033f8ff
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=mips SHELL=/bin/bash drivers/gpu/drm/radeon/ drivers/media/pci/saa7164/ drivers/media/test-drivers/vivid/ drivers/usb/gadget/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
All warnings (new ones prefixed by >>):
>> drivers/media/test-drivers/vivid/vivid-core.c:1986:12: warning: stack frame size (2256) exceeds limit (2048) in 'vivid_probe'
static int vivid_probe(struct platform_device
^
fatal error: error in backend: Nested variants found in inline asm string: ' .set push
.set mips64r2
.if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/bitops.h", .line = 101, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
1: lld $0, $1
dins $0, $3, $2, 1
scd $0, $1
beqz $0, 1b
.set pop
'
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang -Wp,-MMD,drivers/media/test-drivers/vivid/.vivid-core.o.d -nostdinc -isystem /opt/cross/clang-d271fc04d5/lib/clang/15.0.0/include -Iarch/mips/include -I./arch/mips/include/generated -Iinclude -I./include -Iarch/mips/include/uapi -I./arch/mips/include/generated/uapi -Iinclude/uapi -I./include/generated/uapi -include include/linux/compiler-version.h -include include/linux/kconfig.h -include include/linux/compiler_types.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff84000000 -DLINKER_LOAD_ADDRESS=0xffffffff84000000 -DDATAOFFSET=0 -Qunused-arguments -fmacro-prefix-map== -DKBUILD_EXTRA_WARN1 -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 --target=mips64el-linux -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -mabi=64 -G 0 -mno-abicalls -fno-pic -pipe -msoft-float -DGAS_HAS_SET_HARDFLOAT -Wa,-msoft-float -ffreestanding -EL -fno-stack-check -DTOOLCHAIN_SUPPORTS_VIRT -Wa,--trap -mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64 -Iarch/mips/include/asm/mach-loongson64 -mno-branch-likely -Iarch/mips/include/asm/mach-generic -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Os -Wframe-larger-than=2048 -fno-stack-protector -Wno-gnu -mno-global-merge -Wno-unused-but-set-variable -Wno-unused-const-variable -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-array-bounds -fno-strict-overflow -fno-stack-check -Werror=date-time -Werror=incompatible-pointer-types -Wextra -Wunused -Wno-unused-parameter -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wold-style-definition -Wmissing-include-dirs -Wunused-but-set-variable -Wunused-const-variable -Wno-missing-field-initializers -Wno-sign-compare -Wno-type-limits -fsanitize=shift -fsanitize=unreachable -fsanitize=object-size -fsanitize=bool -I drivers/media/test-drivers/vivid -I ./drivers/media/test-drivers/vivid -DMODULE -mlong-calls -DKBUILD_BASENAME="vivid_core" -DKBUILD_MODNAME="vivid" -D__KBUILD_MODNAME=kmod_vivid -c -o drivers/media/test-drivers/vivid/vivid-core.o drivers/media/test-drivers/vivid/vivid-core.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'drivers/media/test-drivers/vivid/vivid-core.c'.
4. Running pass 'Mips Assembly Printer' on function '@...id_probe'
#0 0x0000557dc649ed7f Signals.cpp:0:0
#1 0x0000557dc649cc5c llvm::sys::CleanupOnSignal(unsigned long) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x348ec5c)
#2 0x0000557dc63dcfd7 llvm::CrashRecoveryContext::HandleExit(int) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x33cefd7)
#3 0x0000557dc649530e llvm::sys::Process::Exit(int, bool) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x348730e)
#4 0x0000557dc40c0ccb (/opt/cross/clang-d271fc04d5/bin/clang-15+0x10b2ccb)
#5 0x0000557dc63e3a8c llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x33d5a8c)
#6 0x0000557dc70ed5c0 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const (/opt/cross/clang-d271fc04d5/bin/clang-15+0x40df5c0)
#7 0x0000557dc70e94f4 llvm::AsmPrinter::emitFunctionBody() (/opt/cross/clang-d271fc04d5/bin/clang-15+0x40db4f4)
#8 0x0000557dc4b2a887 llvm::MipsAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x1b1c887)
#9 0x0000557dc57e754d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.53) MachineFunctionPass.cpp:0:0
#10 0x0000557dc5c2e807 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x2c20807)
#11 0x0000557dc5c2e981 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x2c20981)
#12 0x0000557dc5c2f4ff llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x2c214ff)
#13 0x0000557dc67b9147 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x37ab147)
#14 0x0000557dc7407693 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x43f9693)
#15 0x0000557dc7ee26e9 clang::ParseAST(clang::Sema&, bool, bool) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x4ed46e9)
#16 0x0000557dc74064cf clang::CodeGenAction::ExecuteAction() (/opt/cross/clang-d271fc04d5/bin/clang-15+0x43f84cf)
#17 0x0000557dc6e09561 clang::FrontendAction::Execute() (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3dfb561)
#18 0x0000557dc6d9ffaa clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3d91faa)
#19 0x0000557dc6ecdcbb (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3ebfcbb)
#20 0x0000557dc40c227c cc1_main(llvm::ArrayRef<char char (/opt/cross/clang-d271fc04d5/bin/clang-15+0x10b427c)
#21 0x0000557dc40bef4b ExecuteCC1Tool(llvm::SmallVectorImpl<char driver.cpp:0:0
#22 0x0000557dc6c38d95 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const::'lambda'()>(long) Job.cpp:0:0
#23 0x0000557dc63dce93 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x33cee93)
#24 0x0000557dc6c3968e clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const (.part.216) Job.cpp:0:0
#25 0x0000557dc6c0e267 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3c00267)
#26 0x0000557dc6c0ec47 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) const (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3c00c47)
#27 0x0000557dc6c182f9 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3c0a2f9)
#28 0x0000557dc3fe763f main (/opt/cross/clang-d271fc04d5/bin/clang-15+0xfd963f)
#29 0x00007f59e0ce6d0a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
#30 0x0000557dc40bea6a _start (/opt/cross/clang-d271fc04d5/bin/clang-15+0x10b0a6a)
clang-15: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 15.0.0 (git://gitmirror/llvm_project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
Target: mips64el-unknown-linux
Thread model: posix
InstalledDir: /opt/cross/clang-d271fc04d5/bin
clang-15: note: diagnostic msg:
Makefile arch drivers fs include kernel nr_bisected scripts sound source usr virt
--
>> drivers/media/test-drivers/vivid/vivid-core.c:1986:12: warning: stack frame size (2256) exceeds limit (2048) in 'vivid_probe'
static int vivid_probe(struct platform_device
^
fatal error: error in backend: Nested variants found in inline asm string: ' .set push
.set mips64r2
.if ( 0x00 ) != -1)) 0x00 ) != -1)) : ($( static struct ftrace_branch_data __attribute__((__aligned__(4))) __attribute__((__section__("_ftrace_branch"))) __if_trace = $( .func = __func__, .file = "arch/mips/include/asm/bitops.h", .line = 101, $); 0x00 ) != -1)) : $))) ) && ( 0 ); .set push; .set mips64r2; .rept 1; sync 0x00; .endr; .set pop; .else; ; .endif
1: lld $0, $1
dins $0, $3, $2, 1
scd $0, $1
beqz $0, 1b
.set pop
'
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: clang -Wp,-MMD,drivers/media/test-drivers/vivid/.vivid-core.o.d -nostdinc -isystem /opt/cross/clang-d271fc04d5/lib/clang/15.0.0/include -Iarch/mips/include -I./arch/mips/include/generated -Iinclude -I./include -Iarch/mips/include/uapi -I./arch/mips/include/generated/uapi -Iinclude/uapi -I./include/generated/uapi -include include/linux/compiler-version.h -include include/linux/kconfig.h -include include/linux/compiler_types.h -D__KERNEL__ -DVMLINUX_LOAD_ADDRESS=0xffffffff84000000 -DLINKER_LOAD_ADDRESS=0xffffffff84000000 -DDATAOFFSET=0 -Qunused-arguments -fmacro-prefix-map== -DKBUILD_EXTRA_WARN1 -Wall -Wundef -Werror=strict-prototypes -Wno-trigraphs -fno-strict-aliasing -fno-common -fshort-wchar -fno-PIE -Werror=implicit-function-declaration -Werror=implicit-int -Werror=return-type -Wno-format-security -std=gnu89 --target=mips64el-linux -fintegrated-as -Werror=unknown-warning-option -Werror=ignored-optimization-argument -mabi=64 -G 0 -mno-abicalls -fno-pic -pipe -msoft-float -DGAS_HAS_SET_HARDFLOAT -Wa,-msoft-float -ffreestanding -EL -fno-stack-check -DTOOLCHAIN_SUPPORTS_VIRT -Wa,--trap -mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64 -Iarch/mips/include/asm/mach-loongson64 -mno-branch-likely -Iarch/mips/include/asm/mach-generic -fno-asynchronous-unwind-tables -fno-delete-null-pointer-checks -Os -Wframe-larger-than=2048 -fno-stack-protector -Wno-gnu -mno-global-merge -Wno-unused-but-set-variable -Wno-unused-const-variable -ftrivial-auto-var-init=zero -enable-trivial-auto-var-init-zero-knowing-it-will-be-removed-from-clang -fno-stack-clash-protection -pg -Wdeclaration-after-statement -Wvla -Wno-pointer-sign -Wno-array-bounds -fno-strict-overflow -fno-stack-check -Werror=date-time -Werror=incompatible-pointer-types -Wextra -Wunused -Wno-unused-parameter -Wmissing-declarations -Wmissing-format-attribute -Wmissing-prototypes -Wold-style-definition -Wmissing-include-dirs -Wunused-but-set-variable -Wunused-const-variable -Wno-missing-field-initializers -Wno-sign-compare -Wno-type-limits -fsanitize=shift -fsanitize=unreachable -fsanitize=object-size -fsanitize=bool -DMODULE -mlong-calls -DKBUILD_BASENAME="vivid_core" -DKBUILD_MODNAME="vivid" -D__KBUILD_MODNAME=kmod_vivid -c -o drivers/media/test-drivers/vivid/vivid-core.o drivers/media/test-drivers/vivid/vivid-core.c
1. <eof> parser at end of file
2. Code generation
3. Running pass 'Function Pass Manager' on module 'drivers/media/test-drivers/vivid/vivid-core.c'.
4. Running pass 'Mips Assembly Printer' on function '@...id_probe'
#0 0x000055a050776d7f Signals.cpp:0:0
#1 0x000055a050774c5c llvm::sys::CleanupOnSignal(unsigned long) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x348ec5c)
#2 0x000055a0506b4fd7 llvm::CrashRecoveryContext::HandleExit(int) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x33cefd7)
#3 0x000055a05076d30e llvm::sys::Process::Exit(int, bool) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x348730e)
#4 0x000055a04e398ccb (/opt/cross/clang-d271fc04d5/bin/clang-15+0x10b2ccb)
#5 0x000055a0506bba8c llvm::report_fatal_error(llvm::Twine const&, bool) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x33d5a8c)
#6 0x000055a0513c55c0 llvm::AsmPrinter::emitInlineAsm(llvm::MachineInstr const (/opt/cross/clang-d271fc04d5/bin/clang-15+0x40df5c0)
#7 0x000055a0513c14f4 llvm::AsmPrinter::emitFunctionBody() (/opt/cross/clang-d271fc04d5/bin/clang-15+0x40db4f4)
#8 0x000055a04ee02887 llvm::MipsAsmPrinter::runOnMachineFunction(llvm::MachineFunction&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x1b1c887)
#9 0x000055a04fabf54d llvm::MachineFunctionPass::runOnFunction(llvm::Function&) (.part.53) MachineFunctionPass.cpp:0:0
#10 0x000055a04ff06807 llvm::FPPassManager::runOnFunction(llvm::Function&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x2c20807)
#11 0x000055a04ff06981 llvm::FPPassManager::runOnModule(llvm::Module&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x2c20981)
#12 0x000055a04ff074ff llvm::legacy::PassManagerImpl::run(llvm::Module&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x2c214ff)
#13 0x000055a050a91147 clang::EmitBackendOutput(clang::DiagnosticsEngine&, clang::HeaderSearchOptions const&, clang::CodeGenOptions const&, clang::TargetOptions const&, clang::LangOptions const&, llvm::StringRef, clang::BackendAction, std::unique_ptr<llvm::raw_pwrite_stream, std::default_delete<llvm::raw_pwrite_stream> >) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x37ab147)
#14 0x000055a0516df693 clang::BackendConsumer::HandleTranslationUnit(clang::ASTContext&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x43f9693)
#15 0x000055a0521ba6e9 clang::ParseAST(clang::Sema&, bool, bool) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x4ed46e9)
#16 0x000055a0516de4cf clang::CodeGenAction::ExecuteAction() (/opt/cross/clang-d271fc04d5/bin/clang-15+0x43f84cf)
#17 0x000055a0510e1561 clang::FrontendAction::Execute() (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3dfb561)
#18 0x000055a051077faa clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3d91faa)
#19 0x000055a0511a5cbb (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3ebfcbb)
#20 0x000055a04e39a27c cc1_main(llvm::ArrayRef<char char (/opt/cross/clang-d271fc04d5/bin/clang-15+0x10b427c)
#21 0x000055a04e396f4b ExecuteCC1Tool(llvm::SmallVectorImpl<char driver.cpp:0:0
#22 0x000055a050f10d95 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const::'lambda'()>(long) Job.cpp:0:0
#23 0x000055a0506b4e93 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x33cee93)
#24 0x000055a050f1168e clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> const (.part.216) Job.cpp:0:0
#25 0x000055a050ee6267 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3c00267)
#26 0x000055a050ee6c47 clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) const (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3c00c47)
#27 0x000055a050ef02f9 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command >&) (/opt/cross/clang-d271fc04d5/bin/clang-15+0x3c0a2f9)
#28 0x000055a04e2bf63f main (/opt/cross/clang-d271fc04d5/bin/clang-15+0xfd963f)
#29 0x00007fcd5934ad0a __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x26d0a)
#30 0x000055a04e396a6a _start (/opt/cross/clang-d271fc04d5/bin/clang-15+0x10b0a6a)
clang-15: error: clang frontend command failed with exit code 70 (use -v to see invocation)
clang version 15.0.0 (git://gitmirror/llvm_project d271fc04d5b97b12e6b797c6067d3c96a8d7470e)
Target: mips64el-unknown-linux
Thread model: posix
InstalledDir: /opt/cross/clang-d271fc04d5/bin
clang-15: note: diagnostic msg:
Makefile arch drivers fs include kernel nr_bisected scripts sound source usr virt
vim +/vivid_probe +1986 drivers/media/test-drivers/vivid/vivid-core.c
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1981
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1982 The real maximum number of virtual drivers will depend on how many drivers
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1983 will succeed. This is limited to the maximum number of devices that
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1984 videodev supports, which is equal to VIDEO_NUM_DEVICES.
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1985 */
f46d740fb02589 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2015-03-13 @1986 static int vivid_probe(struct platform_device *pdev)
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1987 {
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1988 const struct font_desc *font = find_font("VGA8x16");
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1989 int ret = 0, i;
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1990
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1991 if (font == NULL) {
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1992 pr_err("vivid: could not find font\n");
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1993 return -ENODEV;
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1994 }
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1995
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1996 tpg_set_font(font->data);
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1997
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1998 n_devs = clamp_t(unsigned, n_devs, 1, VIVID_MAX_DEVS);
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 1999
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2000 for (i = 0; i < n_devs; i++) {
f46d740fb02589 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2015-03-13 2001 ret = vivid_create_instance(pdev, i);
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2002 if (ret) {
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2003 /* If some instantiations succeeded, keep driver */
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2004 if (i)
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2005 ret = 0;
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2006 break;
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2007 }
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2008 }
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2009
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2010 if (ret < 0) {
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2011 pr_err("vivid: error %d while loading driver\n", ret);
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2012 return ret;
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2013 }
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2014
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2015 /* n_devs will reflect the actual number of allocated devices */
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2016 n_devs = i;
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2017
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2018 return ret;
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2019 }
c88a96b023d823 drivers/media/platform/vivid/vivid-core.c Hans Verkuil 2014-08-25 2020
:::::: The code at line 1986 was first introduced by commit
:::::: f46d740fb0258982f00ffdbddc6486e674edafb5 [media] vivid: turn this into a platform_device
:::::: TO: Hans Verkuil <hans.verkuil@...co.com>
:::::: CC: Mauro Carvalho Chehab <mchehab@....samsung.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Powered by blists - more mailing lists