Page 2 of 4

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 21:55
by HomuHomu
あ、是非ともブックマークして欲しいのが
http://labs.timedia.co.jp/2011/08/git-undo-999.html
このページ
gitで困った時のtipsが記載されていてとても便利です。
まぁgit入門とかの本買えばいいんですけどねw

コンフリクトしているソースを探します。

Code: Select all

grep -lr 'diablo' * > conflict.txt
https://gist.github.com/HomuHomu/9324313

いくつコンフリクトしているかを調べます。

Code: Select all

git diff | grep 'diablo' | wc -l
140か箇所と出ました。ウ~~ン微妙ですwww
でもやっちゃいましょうww

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 22:05
by HomuHomu
コンフリクトしているファイルを上から見ていきます。

Code: Select all

gedit arch/arm/vfp/Makefile

Code: Select all

<<<<<<< HEAD
ifeq ($(USE_CFLAGS_OPTION),y)
KBUILD_AFLAGS  :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon-vfpv4 -mfloat-abi=soft)
else
KBUILD_AFLAGS	:=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp)
endif
=======

KBUILD_AFLAGS	:=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon)
>>>>>>> diablo
うん、これは簡単。mfpu=neonでビルドするかどうかで、KBC kernelでは単体ビルドする場合
USE_CFLAGS_OPTIONをデフォでつけ、今回はneon buildがデフォなので、ここは、うちがイイヨ!って事で

Code: Select all

ifeq ($(USE_CFLAGS_OPTION),y)
KBUILD_AFLAGS  :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon-vfpv4 -mfloat-abi=soft)
else
KBUILD_AFLAGS	:=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp)
endif
な感じで修正。
あ、いや、ここはあえて

Code: Select all

ifeq ($(USE_CFLAGS_OPTION),y)
KBUILD_AFLAGS  :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon-vfpv4 -mfloat-abi=soft)
else
KBUILD_AFLAGS	:=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=neon)
endif
にしておこう。linaroじゃない普通のtoolchainでエラーが出るかどうかの確認用として

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 22:17
by HomuHomu
どんどんいきますよ。

Code: Select all

gedit arch/arm/Makefile

Code: Select all

# If we have a machine-specific directory, then include it in the build.
core-y				+= arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
<<<<<<< HEAD
core-y				+= arch/arm/net/
=======
>>>>>>> diablo
core-y				+= arch/arm/crypto/
core-y				+= $(machdirs) $(platdirs)
あ、検索かけるときは、Ctrl+Fして「=======」で拾っていくと捗ります。
これは diabloになくて、うちにあるものだから、とりあえず残しておく。

Code: Select all

# If we have a machine-specific directory, then include it in the build.
core-y				+= arch/arm/kernel/ arch/arm/mm/ arch/arm/common/
core-y				+= arch/arm/net/
core-y				+= arch/arm/crypto/
core-y				+= $(machdirs) $(platdirs)
本当は

Code: Select all

git log arch/arm/Makefile 
とか
diabloのWebページ開いて
https://github.com/Hellybean/android_ke ... m/Makefile
なんで消したのかとか確認するといいんだけどね。
https://github.com/Hellybean/android_ke ... 371a67cf06
なんで消したのか解らん。要らないから?ウチいるかも知れないし

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 22:26
by HomuHomu
arch/arm/mach-msm/
以下が一番重要な部分です。
ここを間違えると起動しなくなったり、動作がおかしくなったり後々までシコリが残ったりします。

Code: Select all

gedit arch/arm/mach-msm/board-msm8x60_celox.c

Code: Select all

static struct regulator_init_data saw_s0_init_data = {
		.constraints = {
			.name = "8901_s0",
			.valid_ops_mask = REGULATOR_CHANGE_VOLTAGE,
<<<<<<< HEAD
			.min_uV = 800000,
#ifdef CONFIG_CPU_OVERCLOCK
			.max_uV = 1350000,
#else
			.max_uV = 1250000,
#endif
=======
			.min_uV = 700000,
			.max_uV = 1350000,
>>>>>>> diablo
みたいなのがいくつか
うん、良かった。OVERCLOCKしてた時の名残りだね。どうする?残しておく?
いつでもOVERCLOCK出来るように残しててもいいよ。というかそうしましょう。
つーか、アチラのカーネル、デフォでOVERCLOCKのUNDERCLOCKじゃねーか!!!選択肢なしかよ!!
選ばせろや!!!とツッコミいれておきましょう。

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 22:37
by HomuHomu
あ、いやちょっと待った
https://github.com/Hellybean/android_ke ... ce36c8c2b7
ここでOVERCLOCK以外のもがっつり変えてる。
すげぇやだ。
まとめてコミットすんなよ。(イラッ
多分このままだと電圧関係とか不安定になります。
何故なら、OVERCLOCKの際は、Kconfigで選べるようにするのがルール(マイルール)なのに上書きしてる。
さてさて、どうしましょうかね。

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 22:47
by HomuHomu
トリアエズ、自分はこの部分はKBCのままにしておくことに決めました。(変えてもいいよ)
さっきのURLに拡張子.patchをつけるとどこ変えたか、パッチ形式で見ることが出来ます。
https://github.com/Hellybean/android_ke ... c2b7.patch

Code: Select all

From 9c9b4d048863c2b9850772695d9daece36c8c2b7 Mon Sep 17 00:00:00 2001
From: Chester Kener <Cl3Kener@gmail.com>
Date: Tue, 13 Aug 2013 09:47:31 -0400
Subject: [PATCH] OverClock CPU & GPU

---
 arch/arm/mach-msm/Kconfig                 |  33 ++++--
 arch/arm/mach-msm/Makefile                |   9 ++
 arch/arm/mach-msm/acpuclock-8x60.c        |  70 +++++++++++--
 arch/arm/mach-msm/avs.h                   |   4 +-
 arch/arm/mach-msm/board-msm8x60.c         |  12 +--
 arch/arm/mach-msm/board-msm8x60_celox.c   |  61 +++++++++--
 arch/arm/mach-msm/board-msm8x60_q1.c      |  19 ++--
 arch/arm/mach-msm/clock-8x60.c            |  20 +++-
 arch/arm/mach-msm/cpufreq.c               |   4 +
 arch/arm/mach-msm/devices-msm8x60.c       | 161 ++++++++++++++++++++++++++----
 arch/arm/mach-msm/gpu_freq.c              | 109 ++++++++++++++++++++
 arch/arm/mach-msm/include/mach/kgsl.h     |   4 +
 arch/arm/mach-msm/include/mach/rpm-8660.h |   4 +-
 arch/arm/mach-msm/msm_mpdecision.c        |  93 ++++++++++++++++-
 arch/arm/mach-msm/msm_rq_stats.c          |   1 +
 arch/arm/mach-msm/qdsp6v2/audio_lpa.c     |   3 +-
 include/linux/cpufreq.h                   |   4 +-
 17 files changed, 536 insertions(+), 75 deletions(-)
 create mode 100644 arch/arm/mach-msm/gpu_freq.c
これら17ファイルをgit checkout --oursで元に戻します。

Code: Select all

git checkout --ours arch/arm/mach-msm/Kconfig
みたいな感じで
ついでに出来上がった、arch/arm/mach-msm/gpu_freq.cも消す。

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 23:00
by HomuHomu
17ファイル全て元に戻しました。
ここで再度、コンフリクト箇所を調べてみましょう。

Code: Select all

grep -lr 'diablo' *

Code: Select all

arch/arm/mach-omap2/opp2420_data.c
arch/arm/include/asm/rwsem.h
block/bfq-ioc.c
block/Kconfig.iosched
block/Makefile
block/bfq-iosched.c
block/bfq-cgroup.c
block/sio-iosched.c
block/bfq.h
drivers/input/keyboard/Kconfig
drivers/cpufreq/cpufreq.c
kernel/sched_debug.c
kernel/sched.c
lib/Makefile
lib/string.c
lib/rwsem-spinlock.c
lib/rwsem.c
scripts/setlocalversion

Code: Select all

git diff | grep 'diablo' | wc -l
88箇所に減りました。だいぶ減りましたね。

この端末はOMAPじゃないので、arch/arm/mach-omap2/opp2420_data.cなんてのはどうでもいい。Makeされないんだから。
なので、git checkout --ours arch/arm/mach-omap2/opp2420_data.c
と思ったら、ただ、「diablo」って文字列入ってただけだった。もっと普段使わないようなブランチ名にすれば良かった orz

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 23:14
by HomuHomu
次!
gedit arch/arm/include/asm/rwsem.h
ンン?
https://github.com/Hellybean/android_ke ... 520663af1a
lib: Update RWSEM to Linux 3.10.x
何か3.10.xからARM RWSEM algorithmをバックポートしてる。
なんかこれ面白そうってことで、これは入れてみよう。

Code: Select all

<<<<<<< HEAD
=======
extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
			 struct lock_class_key *key);

#define init_rwsem(sem)				\
do {						\
	static struct lock_class_key __key;	\
						\
	__init_rwsem((sem), #sem, &__key);	\
} while (0)

>>>>>>> diablo

Code: Select all

extern void __init_rwsem(struct rw_semaphore *sem, const char *name,
			 struct lock_class_key *key);

#define init_rwsem(sem)				\
do {						\
	static struct lock_class_key __key;	\
						\
	__init_rwsem((sem), #sem, &__key);	\
} while (0)
に修正

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 23:38
by HomuHomu
次は、IOスケジューラの掃除です。
block/
の部分デスね。
ウチのカーネルでは
https://github.com/kbc-developers/andro ... 936a463250
BFQ-v6で
あちらさんは
https://github.com/Hellybean/android_ke ... e78aa74316
BFQ 6r2
まぁ新しい方がイインジャネ?って根拠なしな理屈でtheirsで処理しちゃいましょう。

Code: Select all

git checkout --theirs block/bfq-ioc.c
git checkout --theirs block/Kconfig.iosched
git checkout --theirs block/Makefile
git checkout --theirs block/bfq-iosched.c
git checkout --theirs block/bfq-cgroup.c
git checkout --theirs block/bfq.h
ついでにsioスケジューラも

Code: Select all

git checkout --theirs block/sio-iosched.c

Re: SC-03Dのkernel source mergeに関する質問

Posted: 2014年Mar月03日(Mon) 23:43
by HomuHomu

Code: Select all

gedit drivers/input/keyboard/Kconfig

Code: Select all

<<<<<<< HEAD
=======
config TOUCH_CYPRESS_SWEEP2WAKE
	tristate "Sweep2Wake for Cypress based keypad"
	depends on KEYPAD_CYPRESS_TOUCH
	default n
	help
>>>>>>> diablo
んんんんんんんんん?
SWEEP2WAKE???
こっちは、センターキーはハードボタンだよ?効くの?これ
解らん。まぁ実験だし残しておくか。

Code: Select all

config TOUCH_CYPRESS_SWEEP2WAKE
	tristate "Sweep2Wake for Cypress based keypad"
	depends on KEYPAD_CYPRESS_TOUCH
	default n
	help